Essays on Rails, AI, and product engineering
What we learn shipping — rescuing stuck Rails products, scaling working ones, and making AI deliver in production. Written by the people doing the work.
Killing react-on-rails: moving a unicorn's views back to Rails
We removed react-on-rails from a 13-year-old codebase serving millions and converted the views to Stimulus. What it cost, what it paid, and what stayed React.
Read storyAI agents flail on legacy codebases. The codebase is why.
Agents fly on greenfield demos and faceplant on ten-year-old apps. The difference is what the repo teaches them, and you can fix what it teaches.
Read storyA CPO we worked with shipped production code daily. Here's the system that made it safe.
A product person with zero engineering background shipping to production sounds reckless. What makes it work is the system around the model.
Read storyWhen should your Rails app go multi-tenant? A decision framework for CTOs
Multi-tenancy is a business decision wearing an architecture costume. A framework for when to make the move, which isolation level to pick, and what it really costs.
Read story11 months inside a 13-year-old Rails codebase: the Domestika rescue
What a Rails rescue actually looks like from the inside: the audit, the kills, the rebuild, and the deploy pipeline that got 40% faster on the way out.
Read storyRewrite or rescue? Deciding what to do with a legacy Rails app
We spent 11 months inside 13 years of Rails at Domestika and still didn't rewrite it. The rewrite question is usually the wrong question to ask.
Read storyWhy your team's AI coding adoption didn't stick
Ninety percent of firms told NBER that AI changed nothing for them. The tools work; what fails is treating an organizational change as a tooling rollout.
Read storyThe review gap: your team now writes more code than it can review
AI didn't remove your bottleneck. It moved it to code review. The fix isn't reading faster: machines check the code, humans review the intent.
Read storyYou need an AI brain.
Your agent is only as good as the context it can reach. How I turned markdown files in a git repository into one brain my agents and I both read and write — across clients, initiatives, decisions, and research.
Read storyMy Harness: How I stopped babysitting AI and went kitesurfing.
I built a system that builds the system. 4 hours from idea to production. Here's my full AI coding workflow for Rails.
Read storyYour AI has no memory. Your Rails codebase does.
AI wakes up every session like Leonard in Memento — no memory, trusting only the tattoos. Your conventions are those tattoos. Here are the Rails rules I'd ink first: business logic in models, boring controllers, views that contain the mess.
Read storyHow do you know the software is working?
You don’t know software works because you read it. You know it works because automated checks, strict constraints, and structured review make it hard for it to fail silently.
Read storyThe single most important thing that made me believe AI coding could work
AI coding didn’t start working when prompts improved, but when rules became enforceable. Loading and applying coding conventions upfront fundamentally changed how reliable AI-generated code was.
Read storyThe state of AI design tools in 2025: How they help my workflow
I’ve spent the last months testing AI design tools like Figma Make, Builder.io and Stitch in real projects. Here’s what actually works, what breaks, and how these tools fit into my design workflow today.
Read storyHow I learned to brainstorm effectively with AI: A structured approach using Claude
Brainstorm effectively with AI using a structured approach. Learn how with Claude you can turn unstructured chat into a focused, collaborative process for designing ideas, products, and code
Read story