Skip to main content
Test Double company logo
Services
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say Hello
Test Double logo
Menu
Services
BackGrid of dots icon
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say hello
Developers
Developers
Developers
Community

Field Report: Rails World 2025

Double Agent Mike Bowman shares a field report on the Rails World 2025 experience, including highlights from favorite talks, the venue, and the Ruby Embassy.
Mike Bowman
|
September 12, 2025
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Double Agents Mike Bowman, Pier-Luc Faucher, and Lee Quarella attended Rails World 2025 in Amsterdam.

Mike Bowman documented a field report with notes from the field on favorite talks, the venue, and the experience—including the amusing Ruby Embassy.

Rails World 2025: Notes from my favorite talks

Opening Keynote: DHH

This was an exciting keynote. There are some really cool features coming in Rails 8.1. I was especially excited about the concept of local CI, to encourage teams to run their test suites locally and provide a mechanism to eventually replace (or drastically reduce) the reliance on cloud CI runners, which can often become slow, bloated, and complex. I was also interested to hear about the 37Signals team’s transition away from using Apple products and into using Omarchy (https://omarchy.org/), a setup based on Arch Linux that DHH has been building.

One major focus of the talk was on what he refers to as the “Merchants of Complexity.” We (as an industry) have largely been convinced that certain things are too hard, too complex, too risky, to handle on our own. Hosting, databases, deployments, etc. His position is that we can cut away most of that complexity by taking better advantage of improvements in hardware and tooling. The local CI piece is a good example of this. Rather than relying on complex and expensive Github Actions, most engineers now have machines that are more than powerful enough to run their entire test suites locally, so why not cut out the middleman and just do that.

One of the features that he touched on was adding tentanting and SQLite replication to Rails apps, which are features that the so-called “merchants of complexity” can provide for us. Rails, however, is building these features themselves. It seemed a bit contradictory to me to spend so much time in the keynote urging people to simplify their setups, while then turning around and showing off their own custom-built replacements. I think the angle is maybe more along the lines of “we don’t need to pay other people to handle this complexity for us”, rather than “we don’t need this complexity at all”.

SQLite Replication With Beamer: Kevin McConnell (37Signals)

This was a deep technical discussion of how SQLite is architected, and how to hook into the features it provides to build a reliable replication system for it. I didn’t know much about the internals of the software, so it was super interesting to get a closer look. At the end of the day, it seems like this replication is simpler than I would have thought, although I’m sure there are edge cases that he didn’t discuss.

This tooling is called Beamer, and will be open-sourced at some point in the future. It will only work for SQLite at the moment, but he suggested that they’d be open to community support to get it up and running for Postgresql or MySQL as well.

Safely Managing Database Changes at Scale: Miles McGuire (Intercom)

This was an interesting technical talk about how to manage databases measuring in the hundreds of terabytes range. Intercom has multiple tables with tens of billions of rows.

He talked a bit about the iterations they’ve gone through to try to make some of these operations safer. First, they used checklists. Checklists are great, but they aren’t perfect. They need to be kept up to date as the processes change, and they rely on people to actually read and follow them.

Automated testing is much more reliable. At Intercom, they use a handful of custom Rubocop rules to prevent certain database operations in migration files.

What I found most interesting is that, as part of their production deployment pipeline, they added some code to the ActiveRecord Migrator to check the size of a table in production, and block operations on that table if it met certain criteria. Since it’s hard to replicate huge tables in development, they figured that the most reliable source was the production database itself. So, when a migration runs in production, it first examines the table in question and basically checks how many records it has, and how much space it takes up on disk. If either of those values are greater than a certain threshold, the migration is failed, the deployment cancelled, and their database team automatically receives a message saying that this migration will need to be managed manually by the database team.

I didn’t get a chance to talk to Miles after his talk, but I was curious about how this process interacted with the rest of their deployment pipeline, and how engineers need to handle situations where their deployments get blocked.

He shared some of their custom Rubocop rules and the Migrator monkey-patch at the following url: https://minuteman3.github.io/railsworld2025/

Lessons from Migrating a Legacy App to Turbo: Radan Skoric (Halalbooking)

Hotwire and its related tools are extremely flexible, it makes sense to lean into them and find ways to fit your work into their paradigms, since it ends up simplifying things

Optimize for the source of complexity. He gave an example of an app that had to render a complex search page, but the actual complexity was in the back end, so focus your efforts taming that, rather than building a complex front end which ends up being far away from the source.

Thoughts about the Rails World Venue & Experience

Hosted at the Beurs van Berlage, a historic building in central Amsterdam. Completed in 1903, it used to house the Amsterdam Stock Market.

Clock in Beurs van Berlage

Walking into the venue, you open into the “Sponsors Hall”, where all the main conference sponsors had their booths set up. It’s a huge hall with massively high ceilings, lots of cool architectural details, and tons of natural light. Very cool spot to hang out.

Rails World 2025 Sponsor Hall

‍

There was also a little greenhouse with a podcast studio inside, which was neat.

‍

Rails World 2025 Podcast studio

There were two smaller rooms for the talks.

In the entrance foyer there was a giant globe where people could stick pins to show where they’d come from.

Rails World 2025 Globe

The Ruby Embassy experience

In the upper levels, they had some open meeting/quiet work rooms, a room for lightning talks (which I didn’t really see), and a “Ruby Embassy.”

Rails World 2025 Ruby Embassy

In the swag packs, they gave everyone a Ruby Passport, with the idea that you can bring it to future conferences and collect stamps.

Rails World 2025 Ruby Passport

The passport seemed like a fun, if somewhat corny, idea. But the real gem of this experience was the “Ruby Embassy” they set up in one of the rooms. They tried to make it as bureaucratic as possible, which meant that it got a bit silly.

1. The line

First, you waited in a long line.

Waiting in line for Rails World 2025 Ruby Embassy

2. The screener

Then a man in a suit with a “metal detector” (toy lightsaber, really) scanned you and checked for “contraband,” which I understood to mean anything he felt like.

Rails World 2025 screener

3. The questionnaire

Then you had to fill out a questionnaire with questions like “How many keys do you normally have on your person?” or “What is your typical closest source of cheese?”

Due to the secure nature of the Ruby Embassy, Mike Bowman thought it best to not take photos of the questionnaire.

4. Passport photo

Then you had to take passport photos in a photo booth, followed by an interview with a government agent.

Rails World 2025 passport photo page

5. The Interview

The interview was tough, and the interviewers did their best to grill you about your questionnaire.

Due to the secure nature of the Ruby Embassy, Mike Bowman thought it best to not take photos of the interview process.

6. The passport

If you passed the interview (which I did), they’d approve your application and send you to the final desk where they’d glue your photo into the passport and give you a stamp.

Inside Rails World 2025 passport

‍

All in all, good fun.

Overall, it was a great conference. The venue was super cool, great food, excellent speakers, a nice pace with talks that didn’t drag too long and nice breaks in between, exciting announcements and future releases, and a wonderful host city in Amsterdam.

Related Insights

🔗
Field Report: RubyKaigi
🔗
Field Report: The final Strange Loop
🔗
Rails 8.0 beta just dropped—here’s what’s new and why it matters

Explore our insights

See all insights
Developers
Developers
Developers
Pydantically perfect: A beginner’s guide to Pydantic for Python type safety

Introducing Pydantic, a powerful library for type-safe data models in Python. Let’s go through the creation of a simple Pydantic model and the benefits provided.

by
Gabriel Côté-Carrier
by
Kyle Adams
Developers
Developers
Developers
C# and .NET tools and libraries for the modern developer

C# has a reputation for being used in legacy projects and is not often talked about related to startups or other new business ventures. This article aims to break a few of the myths about .NET and C# and discuss how it has evolved to be a great fit for almost any kind of software.

by
Patrick Coakley
Leadership
Leadership
Leadership
Turning observability into a team strength without a big overhaul

By addressing observability pain points one at a time, we built systems and practices that support rapid troubleshooting and collaboration.

by
Gabriel Côté-Carrier
Letter art spelling out NEAT

Join the conversation

Technology is a means to an end: answers to very human questions. That’s why we created a community for developers and product managers.

Explore the community
Test Double Executive Leadership Team

Learn about our team

Like what we have to say about building great software and great teams?

Get to know us
Test Double company logo
Improving the way the world builds software.
What we do
Services OverviewSoftware DeliveryProduct ManagementLegacy ModernizationDevOpsUpgrade RailsTechnical RecruitmentTechnical Assessments
Who WE ARE
About UsCulture & CareersGreat CausesEDIOur TeamContact UsNews & AwardsN.E.A.T.
Resources
Case StudiesAll InsightsLeadership InsightsDeveloper InsightsProduct InsightsPairing & Office Hours
NEWSLETTER
Sign up hear about our latest innovations.
Your email has been added!
Oops! Something went wrong while submitting the form.
Standard Ruby badge
614.349.4279hello@testdouble.com
Privacy Policy
© 2020 Test Double. All Rights Reserved.