Articles

Long-form writing on software engineering, systems design, and building things.

System Boundaries Become Visible Only When Crossed Incorrectly

Every system operates on assumptions. Some are explicit—enforced by types, schemas, and validation. But the dangerous ones are implicit: "events are ordered," "usernames are lowercase," "this array is sorted." These invisible boundaries work perfectly until someone crosses them. Then a service that ran flawlessly for months suddenly explodes on "valid" data. The bug isn't in your logic—it's in the gap between what your system claims to accept and what it actually handles. Good architecture closes this gap by making boundaries impossible to cross incorrectly, not just expensive to cross incorrectly.

Production Observability for Rails Outbox Pipelines: A Guide to Metrics, Alerts, and Runbooks

Go beyond basic reliability. This is a complete operational manual for your Rails outbox, covering the four critical metrics, production-grade processor design with Sentry, forensic runbooks, and the anti-patterns that lead to silent failures.

Building Bulletproof State Machines: Migrations, Locking, and Audit Trails in Rails

Implicit state is a breeding ground for bugs. We'll refactor a typical Rails model to use a production-ready state machine, covering migrations, race conditions, testing, and audit trails to make your code safer and easier to reason about.

When the Service Directory Becomes a Liability

The app/services directory starts with good intentions but often decays into a junk drawer. We'll diagnose the symptoms of a service directory in crisis and explore how patterns like Form Objects, Commands, and Query Objects can restore clarity and maintainability to your Rails app.

Scaling AI Prompts: A Guide to Building a Prompt Management Engine in Rails

Move beyond hardcoded strings and build a scalable, version-controlled, and testable prompt management system in Rails to manage your AI prompts like professional software.

The Prompt Engineering Manifesto: From $2,400 Mistakes to Production-Grade AI

A hardcoded prompt typo cost us $2,400 in 72 hours. Here's the engineering discipline, testing strategies, and open-source tool (Promptly) we built to fix it for good.

When Background Jobs Go Wrong: A Debugging Guide for Async Rails Features

Your async AI feature works... until it doesn't. This guide covers how to debug unreported job failures, trace Action Cable WebSocket issues, and handle common pitfalls in production.

Building a Production-Ready AI Agent Foundation in Ruby

Most function calling tutorials show toy examples that break in production. This guide provides the 80% foundation you actually need: a security-hardened, multi-turn agent with complete parameter validation, proper error handling, logging, and timeouts. Copy, customize, and build on it