A request looks simple from the browser, but a surprising amount of software sits between typing a URL and seeing pixels.

Builder
Designer
Problem Solver
// 2026
Bigger things.
A more open
tomorrow.

Notes, learnings, and thoughts
on building a better tomorrow.
A request looks simple from the browser, but a surprising amount of software sits between typing a URL and seeing pixels.
Debugging becomes much easier when you stop guessing and start treating every failure as evidence.
A practical approach to keeping a modern Next.js application understandable as it grows.
An index is not a magic performance switch. It is an additional data structure with a cost and a specific access pattern it can accelerate.
A practical look at what indexes solve, what they cost, and how to reason about them before adding one.
A practical breakdown of premature architecture, unnecessary abstractions, and building systems proportional to the actual problem.
Flexible data is useful, but flexibility should not erase relationships that the database can enforce for you.