
Zero-Downtime Database Migrations: The 'Expand and Contract' Pattern I Use for Every Release
A guide to evolving your database schema safely using the parallel-change pattern to avoid application outages during deployments.
Articles, guides, and thoughts on web development and technology

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.

A deep dive into transitioning to a monorepo setup using Turborepo to solve dependency hell and drastically speed up CI/CD pipelines.
A deep dive into using Remix's streaming capabilities and Server-Sent Events to keep your UI snappy while your AI model takes its sweet time to think.

How to handle flaky AI APIs and aggressive rate limits without crashing your Remix loaders, featuring custom queuing and fallback strategies.