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.