Writing

notes from the build. frontend, performance, the small stuff.

I blocked Instagram on every browser with one line in a text file

How I built FocusGuard, a local app that blocks distracting sites system-wide and shows where my attention actually went. The whole thing rests on two simple ideas.

Jun 2026
What happens when you hit Enter on ChatGPT

I opened the Network tab while ChatGPT answered. The reply streams back as Server-Sent Events using a clever delta protocol - and there's a surprising amount of machinery wrapped around that one request.

Jun 2026
I reverse-engineered Cricbuzz's live scores. It's one JSON file on a 5-second loop.

How Cricbuzz delivers live cricket scores to tens of millions of people with no websockets and no magic - just a cacheable JSON, polled on a short loop, behind a CDN. I opened the Network tab and traced exactly how.

Jun 2026
Redis is single-threaded. So why is it faster than a multi-threaded database?

Redis runs on one thread and still outperforms multi-threaded databases. Here is why, and where it fits if you already use Supabase and TanStack Query.

Jun 2026
Why AI-Built UIs Still Feel Off

AI can build a UI that runs in minutes. It still can't tell when that UI is actually finished, and that is where the work is now.

Apr 2026
What is CI/CD Pipeline?

A practical guide to setting up CI/CD with GitHub Actions, from your first workflow to auto-deploying on Vercel.

Nov 2025
Understanding CSR, SSR, SSG, and ISR

How pages actually get rendered on the web, when to use each approach, and how Next.js handles all of them.

Jan 2025
Building Better User Interfaces

Practical UI patterns, tools, and techniques that actually make a difference in how your app feels.

Jan 2025