Frameworks

Ruby on Rails

Convention-over-configuration web development. Ship features fast with Rails' built-in patterns, generators, and rich ecosystem of gems.

ANZProspaClearViewIAGEYQantasUnited NationsSwiss Government
The landscape
01

Productive by convention

Ruby on Rails decides the questions that slow a build down: where files live, how the database is reached, what a URL maps to, how tests are organised. The effect of settling them is speed, and the longer-lasting effect is legibility, because any Rails engineer can navigate any Rails application.

Modern Rails answers the interactivity question with Hotwire, sending server-rendered HTML over the wire in place of a separate JavaScript application. Around it the ecosystem is mature: authentication, payments, background jobs and file storage are settled problems with gems that have run in production for years.

Rails remains a strong choice for products whose substance is accounts, records and workflow, and for teams that want a small headcount to go a long way. It is a poor fit where sustained computation or very high connection counts define the system; there the working pattern is a Go service beside the Rails application, which keeps the product.

In the 2025 Stack Overflow Developer Survey, 5.9% of respondents reported working with Ruby on Rails in the past year.

Under the current Rails maintenance policy, each minor release series receives bug fixes for one year and security fixes for two years after release.

Common in SaaS products, startups, web apps
Key tools Hotwire, Sidekiq, RSpec, ActiveRecord
Runtime Ruby 3.x, Puma server
Typical pattern MVC web apps, REST APIs, Hotwire SPAs
  • SaaS Products
  • Startups
  • Web Applications
  • Rapid Prototyping
02

Our Ruby on Rails capabilities

Rapid web development

Rails conventions reduce a feature to its substance: a migration, a model, a controller and a view, each in the place the framework expects. Generators scaffold the repetitive parts, and mature gems cover authentication, authorisation and payments, so early releases carry less bespoke code.

  • Rails 7
  • Generators
  • Gems

API development

Rails API mode strips the stack to what an API needs, with serialisation through Jbuilder or a dedicated serialiser and versioning handled in the routing layer. GraphQL is available through graphql-ruby where clients need to shape their own queries.

  • Rails API
  • GraphQL
  • Jbuilder

Full-stack with Hotwire

Turbo Frames scope updates to a fragment of the page, Turbo Streams push server-rendered changes as they happen, and Stimulus attaches the small amount of JavaScript that remains. The product stays one codebase, with no client-side state to reconcile against the server.

  • Turbo
  • Stimulus
  • Hotwire
03

Why Adaca for Ruby on Rails?

04

How We Staff It

Rails rewards small teams, and we staff it that way: one or two engineers who each take features from migration to Hotwire view, joining your review process and your deployment cadence, working to your working day.

05

Common Questions

Our Rails product is ten years old, should we keep investing or migrate?

Usually keep investing. Rails conventions keep a decade-old codebase legible in a way few stacks match, and the upgrade path to a current version is incremental and documented. The costs a migration is meant to cure, slow features, fragile deploys, upgrade debt, usually have cheaper causes: missing tests, outdated gems, a version several series behind.

The case for moving is narrower: a product pivoting into workloads Ruby serves poorly, or an architecture that would need rebuilding in any framework. Short of that, a migration spends its budget rebuilding features the product already has.

Is Rails still a good choice for a new SaaS product?

For a product whose heart is accounts, records and workflow, yes: Rails still turns a small team into a shipping team faster than almost anything else, and Hotwire covers most interface interactivity without a second stack. The conventions assume a relational schema and server-rendered pages; a product matching that shape gets the framework's full speed.

How does Rails hold up under AI-assisted development?

The conventions help and the metaprogramming hurts. File layout, naming and routing are predictable enough that tooling navigates an unfamiliar Rails application the way an experienced Rails engineer would. Much of the behaviour, though, is defined at runtime: ActiveRecord generates methods from the schema, and concerns mix behaviour in at load time, none of it visible in the source an agent reads.

Ruby has no static type system to catch a wrong guess, so the test suite is the only fast correctness signal the stack offers. A strong RSpec suite makes AI-assisted Rails work well; without one, building that signal is the first task, starting with request specs over the behaviour that matters most.

Do you staff Rails for maintenance as well as new builds?

Yes. A large share of Rails briefs are stewardship of products built years ago: version upgrades, gem audits, restoring test coverage while features keep shipping. We treat that as skilled work and staff it from the same bench as new builds, with a shortlist usually with you within 48 hours of the brief.