
Architecture Decisions in Practice
The architecture calls I make in practice. Ports and adapters, build-vs-buy, foundation-first — patterns I reach for and why.
Errors That Never Left The Device
Eleven silent failure paths in a clinical iOS app. None of them surfaced as a backend alert.
When the LLM Remembers Too Much
A vendor rate becomes a budget constraint and reasoning leaks across step boundaries — two failures from implicit state crossing where it shouldn't, and the architecture that fixed both.
Null Bytes, Dead Streams, Last Chunk
SSE adds overhead for mixed events, silent streams hang without error, and the last audio chunk vanishes on page close — three LLM streaming fixes.
Three Ways the Wrong Value Won
A race condition, a stale default, and a spread operator each delivered the wrong value to production. None threw an error.
Build Apps Like LEGO Bricks
Use ports & adapters architecture to swap AI providers like LEGO bricks. Avoid vendor lock-in, optimize costs, test new models easily.
If You Throw Away Your MVP Code, It Wasn't an MVP
6-day "MVPs" are prototypes disguised as products. Real MVPs use foundation-first architecture for extension, not throwaway code.
"It Works" Isn't Enough for Commercial Software
Vibe-coding excels for personal projects but creates dangerous technical debt in commercial products that require human-designed architecture and oversight
How We Built a Zero-Cost CMS Portfolio That Actually Works
Using Next.js, Airtable, and Vercel's free tiers, we built a content-managed portfolio site with zero ongoing costs and hourly updates.