Garry Tan, president and CEO of Y Combinator, recently posted about why Ruby on Rails plus Claude Code is a "crazy unlock." Rails is designed around strong conventions, predictable patterns and expressive DSLs. That combination means an LLM has far less ambiguity to fight through before it can be useful. As he put it: "Rails was designed for people who love syntactic sugar, and LLMs are sugar fiends." And it got me thinking about Django. Django has some convention. The framework will tell you roughly where your models and views and URLs live. What it won't tell you is where your business logic goes. Or how your views and models should be structured. Those questions get answered differently by every team, in every project. The thing about those decisions is that you don't really know if they were good ones until years later. A pattern can feel perfectly sensible in year one and leave you maintaining a small archaeology project by year five. That experience is what pushed me to write Django RAPID Architecture. RAPID adds convention where Django leaves things unsaid. It gives you a clear horizontal structure: data, interfaces, readers, actions. It makes it obvious where different kinds of code belong. And with django-readers, the specs layer gives you a compact, expressive way to describe what data a view needs and how it should be shaped: something close to a DSL. Well, it turns out that Garry was right. When the codebase has already made the structural decisions, a model doesn't have to reverse-engineer your team's habits before it can be useful. With a bit of guidance, the shape of the thing is immediately visible. And LLMs love it. I've seen agents one-shot large, complex features, and the code is exactly as I would've written it. That's the deeper point in Garry's post. It's not really about Rails specifically. The most AI-native codebases are the ones that are already legible, where the important decisions have been baked into the structure itself. So RAPID isn't just for humans, it's for agents too. If you want help moving your Django codebase in the direction of these huge AI productivity gains, get in touch: https://lnkd.in/eiRtAepq And if you just want to learn more about RAPID: https://lnkd.in/ejkF7DMB
The problem with new conventions is that they are unadopted, rails conventions are widely adopted in the ecosystem for 20 years
Now that Ruby LSP is officially supported, things are just flying on Claude Code. Fewer tokens spent, better context, when working on large codebases. grep has literally been unused in the last few days I worked with CC. And if you invested in CLAUDE.md for Rails best practices, and using skills, sub-agents, and hooks to record team and codebase workflows is just spot on. And not to mention the agent teams for parallel work ... Fantastic.
rails, laravel, even newer ones like loco.rs. The more opinionated the frameworks the less bad opinions your ai has. The opinionated frameworks literally created a lot of really great training data since all the human code written was also relatively very structured and consistent.
Its similar story to django honestly. I think most of these big old frameworks with good conventions that were well represented in the training set are very easy with LLMs.
Love this. Check out what we’re building too, we’re doing the same thing for typescript, but we go a step further and compile your code into infra. Architecture as code, if you will. Results with making CC focus just on business logic is promising!
Rails convention argument is real. Been using Claude Code on a Rails project and the scaffolding basically writes itself. Django gets you 80% there but you're fighting config choices that Rails just decides for you.
Laravel + Filament + Claude is also like a serious superpower. Anything with strict conventions and a lot of example code publicly available is where some serious acceleration happens.
Using both Django and Rails on different projects, and a bunch of JavaScript/TypeScript projects professionally and using Claude Code is noticeably easier with Rails in most cases. Especially when dealing with monoliths in general.
It's the same reason why I've found Elixir Phoenix such a good language and framework to use with AI development.
We were planning to migrate from django to fastapi in one of our core services and this is an Interesting reason to not do that, tempting.