Skip to content

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