Notes on building software

Articles on frontend engineering, React, Next.js, TypeScript, and shipping production-grade web products.

What I write about

Posts here are practical rather than theoretical: problems hit on real client projects, the options weighed, what got chosen, and what it cost. Expect code, numbers, and the occasional retraction when a decision aged badly. Published when there is something worth writing down, not on a schedule.

  • React & Next.js in production

    App Router patterns, server and client component boundaries, data fetching, caching and revalidation, and the trade-offs behind rendering strategies on real products.

  • TypeScript at scale

    Typing API layers and shared contracts, keeping generics readable, and the conventions that keep a growing codebase reviewable instead of clever.

  • Frontend architecture

    Folder conventions, state management with Redux Toolkit and React Query, design systems in Storybook, and where abstractions actually pay for themselves.

  • Performance & Core Web Vitals

    Bundle budgets, image and font strategy, animation without jank, WebGL scenes that clean up after themselves, and measuring LCP, INP, and CLS on real devices.

  • Testing & delivery

    Jest and Testing Library where they earn their keep, end-to-end coverage of critical flows, Docker builds, and CI pipelines that stay fast enough to trust.

  • Team & engineering practice

    Lessons from leading frontend teams — code review that catches real problems, estimation that survives contact with a deadline, and shipping without burning the team.