Blog
Programming challenges, experiments, and build notes behind short videos.
Programming challenges, experiments, and build notes behind short videos.
Short-form dev challenges, experiments, and the stories behind them.
Categories
Tags

My .nvmrc, Dockerfiles, and CI each pinned a different Node.js version, and nothing noticed until a lockfile refused to install. So I built node-drift — a one-command auditor that finds every Node version your repo declares and reports where they disagree.

This site once shipped its CMS pages completely empty — with a perfectly green build. So I built next-env-audit, a postbuild auditor that catches env vars baked into (or missing from) your Next.js output.

The build log for Gamedar — an AI-powered game calendar on Next.js 16, IGDB, and Claude: one Zod schema everywhere, an atomic daily cap in Postgres, prompt-injection isolation, and two production bugs worth remembering.

icecut is a browser extension, an Express API, and a Next.js dashboard that must never disagree about what a breach is. Here's the architecture that keeps them in lockstep: one Bun monorepo, one shared Zod contract, and offline sync built on idempotent client IDs.

Site blockers lose the moment you want them to. icecut takes the opposite bet: it lets you through every flagged site, but makes you type why, waits, and logs it — because the log of your own excuses is the real intervention.

A practical walkthrough of building a modern blog using Next.js App Router for the frontend and Strapi as a headless CMS, covering project setup, content modeling, server-side data fetching, and deployment with Docker.
1 / 2