
The Day We Trashed Our Design Wiki for ADRs and Reclaimed Our Engineering Velocity
The story of how moving our architectural 'why' into our git history finally ended the cycle of endless Slack re-explanations.
Articles, guides, and thoughts on web development and technology

The story of how moving our architectural 'why' into our git history finally ended the cycle of endless Slack re-explanations.

Nothing kills a developer's productivity faster than a 'random' CI failure. I spent a week hunting down the ghosts in our test suite so you don't have to.
Keyword search is so 2010. I explored how to leverage vector embeddings and pgvector to give my Remix app a brain that actually understands what users are looking for.

A guide to evolving your database schema safely using the parallel-change pattern to avoid application outages during deployments.

A deep dive into implementing idempotency, manual retries, and dead-letter queues to ensure your third-party integrations stay bulletproof when things go wrong.

An honest look at the seductive trap of building for hypothetical future requirements and how I started prioritizing 'Now' over 'Maybe.'

A deep dive into why simply 'indexing everything' fails and how to use execution plans to fix real-world database bottlenecks.

We all have that one file we're afraid to touch. Here's how I finally tackled my most terrifying legacy code without burning the whole repository down.

Stop making users stare at a blank screen; learn how to combine Remix’s defer utility with OpenAI’s streaming API to build a snappy AI interface that feels faster than a junior dev on their third espresso.

A deep dive into using Ollama and the Vercel AI SDK within Remix to create a self-documenting, context-aware developer tool that stays strictly on your machine.