Blog

12 posts - thoughts, tutorials, and insights.

·2 min read

How Server Components Rewired My Next.js Mental Model

After a year of React Server Components in production, here's the folder structure and the client/server boundary rules that finally clicked for me.

#Next.js#React#Architecture
·2 min read

Four Postgres Indexing Mistakes I Kept Repeating

Slow queries are rarely a Postgres problem — they're usually an index problem. The four mistakes I made over and over until EXPLAIN ANALYZE became a habit.

#PostgreSQL#Backend#Performance
·2 min read

How I Actually Use AI Coding Agents (Without Losing the Plot)

Agents like Cline are great at some tasks and terrible at others. My workflow for getting real leverage without shipping code I don't understand.

#AI#Workflow#DX
·2 min read

Rate Limiting on the Edge with Upstash Redis

A sliding-window rate limiter that runs in edge functions, survives deploys, and takes about ten lines to wire up. Here's how and why.

#Backend#Edge#Redis
·2 min read

The Modern CSS I Reach for in 2026

Container queries, :has(), subgrid and color-mix() are no longer 'coming soon' — they're the tools I use daily. A tour of the CSS that replaced my old hacks.

#CSS#Frontend#Tips
·2 min read

Building a ⌘K Command Palette from Scratch

No library, just a dialog, a filtered list and some keyboard handling. Here's how I built the command palette on this very site.

#React#UI#Accessibility
·3 min read

Building a Type-Safe REST API with Elysia and Bun

Elysia gives you end-to-end type safety, a great DX, and performance that beats Express by a wide margin. Here's how I structure a real API with it.

#Elysia#Bun#Backend#TypeScript#API
·2 min read

CSS Things I Wish I Knew Earlier

Not another flexbox tutorial. These are the CSS features that changed how I approach layout and styling problems — some new, some that have been there for years.

#CSS#Frontend#Design
·2 min read

React Patterns I Stopped Using (And What Replaced Them)

Some patterns that were once considered best practice have better alternatives today. Here's what I removed from my codebase and why.

#React#Patterns#Frontend
·2 min read

Why I Switched from Node.js to Bun (And What I Miss)

Six months in with Bun as my primary runtime. The good, the rough edges, and whether I'd recommend it for a production project today.

#Bun#Node.js#Backend#Performance
·2 min read

5 TypeScript Tricks I Use Every Day

From discriminated unions to template literal types — the TypeScript patterns that genuinely changed how I write code.

#TypeScript#DX#Tips
·4 min read

Critical Security Alert: Understanding CVE-2025-66478 in Next.js

A deep dive into the critical Remote Code Execution (RCE) vulnerability found in the React Server Components protocol. We break down how it happens with a real-world scenario.

#Security#Next.js#CVE#React#RCE