
My Code is a Haunted House: A Guide to Refactoring Without Waking the Ghosts
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.
Articles, guides, and thoughts on web development and technology

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.

A deep dive into why passing LLM output directly to your UI is a recipe for disaster and how to use Zod to build bulletproof AI integrations in Remix.
Discover how to fix the critical npm bug affecting cross-platform JavaScript development teams and prevent build failures across different operating systems.
Discover how to fix the frustrating CSS ordering inconsistency in Next.js App Router that causes styling issues between development and production environments.
Learn how to fix the common 'params should be awaited' error in Next.js 15 with practical solutions for both server and client components.