Things I built, and what they taught me
Decisions I had to reason my way into, bugs that cost me an afternoon, and the occasional thing I got wrong. Written mostly so that I remember — and because explaining a design to someone who does not already agree with you is the fastest way to find out it is weak.
- Reflection6 min
What owning the whole stack actually teaches you
Four months, a company of two, and a system that grew past a quarter of a million lines. Being the person responsible for all of it turned out to be the most useful constraint I have had.
ArchitectureCareerTechnical leadershipRead - Decision5 min
Giving an AI assistant tools without giving it the keys
The safest way to let a model act on your system is to make it use the same front door as the user, carrying the user's own credentials.
AISecurityArchitectureRead - Debugging5 min
A dependency changed underneath me and I had shipped no commit
A feature broke in production with nothing in the git log to explain it. What I learned about version ceilings, and about degrading instead of crashing.
DebuggingDependenciesAIRead - Decision5 min
Why I keep vector search in my main database
Choosing pgvector over a dedicated vector store was not a benchmark decision. It was about what happens when the index and the rows it describes disagree.
DataRetrievalPostgresRead - Lesson4 min
Invariants beat good intentions
If a rule only holds because everyone remembers to follow it, it is not a rule. It is a bug with a delay on it.
ArchitecturePostgresSecurityRead - Debugging4 min
The render loop that ate my afternoon
A store selector that looked completely ordinary froze a page solid. The cause is a React fundamental I thought I understood.
ReactDebuggingFrontendRead