Articles
Making Angular AI Work in Real Projects

TL;DR AI tools are great at generating code, but real Angular projects succeed only when you give them rich project context, architecture boundaries, and conventions.
AI can generate a component, write a test, or explain a compiler error. But in real applications, results depend more on project context than model capability. It doesn't understand your architecture, your conventions, or the boundaries you built over years.
Read more →Every Camera Tells a Story

TL;DR A personal reflection on how cameras shape our photography, creativity, and the stories we choose to tell through images.
Every now and then, I catch myself looking at new cameras. I open another review, compare another specification sheet, or watch yet another photographer explaining why this year's camera is better than last year's. It always begins with a simple curiosity, and before I realize it, hours have passed. Somewhere between comparison videos, photography forums, and used listings, I find myself imagining what it would be like to own a different camera.
Read more →Nine Years on GitHub Pages, Why I Finally Moved to Cloudflare

TL;DR Why I migrated this site from GitHub Pages to Cloudflare after nearly a decade, including the migration process, challenges, and discovered trade-offs.
For nearly nine years, my personal website lived on GitHub Pages. It was free, reliable, and required almost no maintenance, so why migrate? A recent move to Cloudflare Pages prompted this post, which covers the motivation behind the change, the migration process, the issues encountered, and the trade-offs discovered along the way.
Read more →Local AI on a MacBook Pro with 16 GB RAM: What Actually Works
TL;DR Practical guide to running local AI coding assistants on a 16GB M1 MacBook Pro, what works well, what doesn't, and the real setup trade-offs.
Running AI coding assistants locally sounds appealing: no API costs, your code stays on your machine, and you get a Claude Code-like experience for free. But getting it to actually work well on a 16 GB MacBook Pro M1 takes more trial and error than most guides admit.
Read more →Essential Development Tools: My Brewfile Setup
TL;DR My curated list of essential macOS development tools via Homebrew that significantly boost daily productivity and workflow enjoyment.
As a software engineer, our toolset shapes how we work and what we can accomplish. Over time, I've curated a collection of essential tools that boost my productivity and make development more enjoyable. Here's a breakdown of my Homebrew setup, featuring the tools I use daily.
Read more →Portfolio: a lightweight personal portfolio tracker
TL;DR This post explains the design and implementation of a simple browser based personal portfolio tracker built with React, TypeScript, and Vite, covering requirements, challenges, and solutions for state handling, caching, and charts.
This post explains the design and implementation of a small browser-first portfolio tracker. It focuses on requirements, the challenges encountered, and how the final solution addresses them, including code snippets that illustrate the state handling, caching, and chart interaction.
Read more →Mastering Git Commands: A Practical Guide
TL;DR A practical selection of essential Git commands that help developers track changes more effectively, collaborate smoothly, and manage project history with confidence.
Git is an indispensable tool for version control, enabling developers to track changes, collaborate effectively, and manage project history. While its capabilities are vast, a solid understanding of key commands can significantly streamline your workflow. This article delves into a selection of practical Git commands, explaining what they do, how to use them, and when they are most effective.
Read more →Angular - Content Projection
TL;DR Content projection in Angular enables flexible and reusable components by allowing you to insert content from parent components into child components.
Content projection is a feature in angular that supports inserting a component in another component. This changes the way an angular developer designs his application/library by implementing flexible and reusable components, a boundary I revisit when making Angular AI work in real projects.
Read more →Reactjs: Arrays in jsx
TL;DR Quick tip on using JavaScript array map to render dynamic lists of elements in JSX instead of hard coding repeated components for cleaner and more maintainable React code as shown in the Tic Tac Toe board example.
When I tried out Reactjs tutorial few months ago, I noticed that in the official starter code, they repeated same div elements in the render() method, just in case of change in the source, I will list it here:
Read more →Fetch using Gitlab API
TL;DR Python script that uses the GitLab API with a private token to automatically clone or fetch all your accessible repositories handling configuration via JSON and providing both argparse and config file versions for convenience.
Between gitlab repos that need daily tracking and frequent machine changes, the manual cloning and sync process became exhausting. An automation script was the obvious next step to offload the boring tasks.
Read more →