Ruby on Rails • Why
Why I build web apps with Ruby on Rails
Rails is the technology I chose for building web applications, and the one I keep choosing, project after project.
This page explains why: what brought me to Rails, what it gives me every day, and why it is still my home base for shipping products.
How I got to Rails
I met Ruby before I met Rails, and it was the language that won me over first. Ruby was designed to be pleasant to read and write: the code states its intent with little ceremony, and that changes how you think about a problem.
When I started using Rails, I found a framework that carries that same philosophy through the whole of web development. Instead of assembling an application from dozens of parts, I had a clear path from the first commit to production. That combination of language and framework is what made me choose Rails, and it is what keeps me here.
Why I chose Rails
The reasons that tipped the decision, and that still hold today:
Ruby, a language written for people
Ruby optimizes for programmer happiness. Readable code is maintainable code, and Rails is the best expression of that on the web.
Convention over configuration
Rails has already made the structural decisions for me. I spend my energy on business rules, not on deciding where each file goes.
Everything I need to ship
Active Record, migrations, jobs, mail, uploads, WebSockets, Hotwire and authentication come with the framework and work well together.
Speed without shortcuts
I can take an idea to production fast, alone or in a small team, without giving up quality or long-term maintainability.
A testing culture
Testing is part of the framework from day one: unit, integration and system tests, ready to use on the first commit.
Mature, stable, still evolving
The framework is more than twenty years old. Each release brings real progress, such as Solid Queue, Solid Cache and Kamal, without breaking what already works.
An ecosystem I can trust
For almost every problem there is a well-established, maintained, documented gem. I build on what the community has already validated.
A generous community
The Ruby and Rails community, in Brazil and worldwide, shares knowledge openly. A good part of what I know came from it.
How I use Rails day to day
Rails is the foundation for most of my work as a software engineer:
- APIs and integrations with external services, with clear, versioned contracts
- data modeling and business rules with Active Record and PostgreSQL
- background processing with jobs, queues and schedules
- fast, simple interfaces with Hotwire, Turbo and Stimulus, without a heavy SPA
- deploying and operating in the cloud, especially AWS, with observability from the start
- modernizing legacy systems and safely migrating them to current Rails versions
- AI features inside products, integrated into the application's normal flow
A default, not a dogma
Rails is my starting point, not an absolute rule. Some problems call for other tools, and I use them when they make sense.
But when the job is a real web application, with users, data and business rules that will evolve for years, Rails is where I start. It is the choice that has proven right most often in my experience.
Keep reading
The Ruby and Rails articles on this blog go deeper into everything on this page.
Want to know more about who writes here? Meet the author