Ruby on Rails + Claude Code = Magic

8 Months Ago

It’s now 8 months since I wrote about an inflection point with Claude, Rails and me. In that article I wrote:

Claude Code with Rails feels like magic. I’ve avoided and actively ignored the hype, I’m a professional sceptic, but the last week deep dive has convinced me:

“For experienced Rails developers, there’s orders of magnitude of productivity gains to be had. Right now. No joke.”

It may not be the 10x developer we hear so much about, but without question, 2x to 3x is what I’m experiencing. If we can scale that over teams, it’s transformational.

Fast Forward to Today

Since then I leaned in to using Claude on personal projects and became more and more comfortable with the flow, branch, plan, iterate, review. The first sign that things were accelerating rapidly was when I was hitting timeouts several times a day as I’d hit the limits of the $20 plan. Initially it was a good way to take a break, or go back to coding myself, but it wasn’t long before I upgraded to Max.

Since then my usage and success with Claude Code has been nothing short of exponential. It’s not an exaggeration to say my previous 2x or 3x boost really is in that mythical 10x range.

yikes

This acceleration has crept up on me, but I can really say in the last couple of months, since December 2025 at least, Claude seems to have hit another inflection point. Where previously I was reworking things almost all the time, fixing, correcting, that slowly stopped happening to the point now, with carefully curated AGENTS.md and SKILL.md files, Claude is usually on target first time.

Certainly Opus 4.5 has a lot to do with this. But the Claude client has also come on leaps and bounds - those small things you barely notice but make every interaction more polished.

The Word is Out

Yesterday I woke up to a bunch of messages from friends linking to a tweet from Garry Tan where he said:

I think people are sleeping a bit on how much Ruby on Rails + Claude Code is a crazy unlock - I mean Rails was designed for people who love syntactic sugar, and LLMs are sugar fiends.

@garrytan - twitter

Took me a while to notice my name was in his screenshot - hence the DMs! Ironically I think that screenshot is from Claude itself, as that’s how attribution links look there, so ‘mileswoodroffe’ means it was attributing that quote to this very blog! Claude quoting me talking about Claude?!?

The key point I was making, as is Garry and many others, is Claude feels particularly suited to Ruby on Rails, and extremely token efficient, due to the well known conventions at its core. Even better, I also think it works in the other direction. When we review the code Claude delivers, due to Ruby’s incredibly clear syntax we can easily and quickly understand the output and know what to do next. When you compound this over a session of a couple of hours, this is a massive boost to flow.

Examples

For example, I’d not worked on my meal planning app 1500cals for close to a year. I use it every day to plan meals, snacks and track exercise. I love it but didn’t have a lot of time or motivation to improve. There were a couple of features I’d long wanted but never quite got to. Time for Claude to help.

The first was around tracking points for exercise. I use Vitality and the points really push me to keep active so I wanted something similar. The 1500cals iOS app already syncs Apple Health steps and workout data so the foundations were there. I literally took a screenshot of the two key screens on Vitality, dragged them in to the Claude Code console, and then explained what they showed and how I wanted to integrate into my app.

Within seconds Claude had parsed this information, and set about with the erb templates. The first result was staggeringly good. What surprises me are the details. Just from this screenshot it could interpret that the circles represented completion of 3, 5 or 8 steps, that I wanted to paginate monthly, it added a summary underneath that I hadn’t described or frankly even considered.

Daily Points

Further, it had proposed database change to persist this data, implemented models and controllers - even added and scheduled a job to update the data each night as Claude knew I was using Solid Queue. And it just worked. I reviewed the code, made a couple of tweaks and had to iterate over some additions but this feature was done and deployed to production in under 30 minutes. If I had to estimate the time to build myself I would say at least a few hours. That’s being optimistic, and the reality also is I’d mulled this over for 6 months or more but hadn’t managed to get started. With the acceleration I get from Claude this opens up much more.

Disposable Code

When ideas can be brought to life at this pace it ushers in a new way of working. I always start a branch, work up an idea and if its not gelling, I just delete the branch and move on. The innovation is and always has been the ideas, the code is just how we present these ideas to users and make them interactive. Previously we laboured over our code, but now we can implement these ideas so effortlessly and cheaply, the code essentially becomes a disposable commodity.

Wrapping Up

8 months ago in the previous Claude article I said I was all in. I have been ever since. Viva Rails. Viva Claude.

Would love to hear your experiences with LLM’s so don’t hesitate to drop me a note at my new favourite place Blue Sky or via any channels listed here