Zustand vs Redux Toolkit in 2026: The State I Actually Ship
After two years shipping both Zustand and Redux Toolkit in React apps, here's how I actually decide, plus the migration path most teams miss.
After two years shipping both Zustand and Redux Toolkit in React apps, here's how I actually decide, plus the migration path most teams miss.
I moved a Next.js app from Tailwind v3 to v4 on a Sunday. Here's what the @theme block, the Oxide engine, and the one migration…
After a year of porting three of my own apps between Node, Bun, and Deno 2, here's the decision tree I actually use to pick…
pgvector plus HNSW replaced Pinecone on half my side projects. The schema, the index picks, hybrid search with FTS, and where I still reach for…
I turned on the React Compiler in a real Next.js app, deleted a pile of useMemo and useCallback, and watched what broke. Honest field notes…
When to pick Server-Sent Events over WebSockets in 2026: a shipping engineer's take on real-time channels for dashboards, LLM streams, and more.
I stopped rotating Go web frameworks and picked one. Here's when I reach for Chi, Gin, Fiber, Echo, and plain net/http on production Go services…
Real experience with Postgres full-text search in 2026: when tsvector and GIN indexes beat Elasticsearch, and the queries I actually ship in production.
The full uninstall checklist for Claude Code in 2026: native installer, Homebrew, WinGet, apt/dnf/apk, and the legacy npm path. Plus the config files the uninstall…
CSS Subgrid finally solved my card-grid alignment problem without JavaScript. Here's the before/after code I use in production, plus what still breaks.