CTO, consultant and full-stack developer since the 90s. Author of many articles showing a creative approach to using Rails. Currently excited about AI’s potential and cross-tech discoveries. Frequent speaker at conferences/meetups and a big supporter of the European Ruby scene. Builds games for fun.

SEPT 23 9:45 AM KEYNOTE

Rails World 2026 Opening Keynote

Opening Keynote highlighting what's new in Rails, what's coming next, and where Rails is headed in the future.

SEPT 23 11:15 AM TRACK 1

Active Search

Active Search is a new Rails framework for application search. It provides a single, Active Record-style chainable interface for searching across different search engines like Elasticsearch, Meilisearch or Typesense and database full-text search in PostgreSQL, MySQL or SQLite. Find out how we use it at 37signals to switch search engines between SaaS and self-hosted versions of Basecamp and Fizzy.

SEPT 23 11:15 AM TRACK 2

Ractors, Rails, and Robots: Automating the Path to Ractor-safety

Ractors are production-ready in Ruby 4.0! But the road to adopting them in Rails is long and challenging. Or is it? In this talk, we'll show how an AI agent loop helped us make rapid progress toward Rails Ractor-safety in just a couple of weeks. We'll explain why Rails' reliance on global state makes adopting Ractors hard, and why this problem is especially suited to AI-driven prototyping. Then we'll walk through the harness and specification that enabled the agent to generate, test, and refine multiple prototypes. Of course, not everything can be automated — we'll also talk about hotspots where human intervention and design is needed. We'll close with the current state of Rails Ractor-safety, what worked, what failed, and what remains.

SEPT 23 1:00 PM TRACK 1

Shipping is your heartbeat: Rails in the agentic era

In 2013, Fin's CTO wrote that shipping is your company's heartbeat — software only starts learning when it reaches customers. In the agentic era, that heartbeat has to get stronger, but it has not been plain sailing. As agents increased the amount of code moving through Fin, our test suites, deployment pipeline, and shipping process started to strain, slow down, and cost far more than we were comfortable with. This talk goes inside our Rails monolith (3M+ lines of code, 100k+ tests, P50 suite time around 3 minutes, merge-to-customers in under 10 minutes) to show how we got speed and safety pulling together again.

SEPT 23 1:00 PM TRACK 2

Practical Hotwire: Stimulus & Turbo on the Ground

Curious about Stimulus and Turbo? Already using Hotwire, but seeking out solid practices? Join this guided tour through a variety of examples and techniques, with commentary on the challenges and tradeoffs. Keeping an eye out for sharp edges, we'll discover what makes HTML-over-the-wire magical.

SEPT 23 1:45 PM TRACK 1

Lexxy: a new text editor for Action Text

Action Text and Trix ship with Rails as a complete, batteries-included solution for rich text. In practice, many teams have hit its limits, especially when it comes to semantics, extensibility, and modern editing expectations. In this talk, we'll introduce Lexxy, a new rich text editor for Rails built on Meta's Lexical framework. We'll explore what makes Lexxy different: clean, semantic HTML, built-in Markdown support, extensible commands and prompts, and a foundation that makes customization straightforward. Lexxy represents a shift in how we think about rich text in Rails: from a fixed editor to a pluggable, evolvable editing layer.

SEPT 23 1:45 PM TRACK 2

Custom Rails Generators in RubyEvents

At RubyEvents.org, we generate a lot of YAML. Contributors need an easy, idiomatic way to generate event files to the latest standards in an unfamiliar codebase. AI needs to generate files from unstructured data without drifting. These feel like different problems, but custom Rails generators can solve both. This will be a deep dive into how to build a custom generator: templates, mutating files, testing, and everything we learned the hard way at RubyEvents.

SEPT 23 2:45 PM TRACK 1

Layered Design, Layered Trust: How a Designer Started Shipping Production Rails

Her first PR added 7,158 lines, deleted 1,920, and touched 153 files of a production Rails app. It shipped a token-based design system, a 28-section component catalog, and a full visual overhaul. The designer was the primary author. The pattern is three layers deep, borrowing from layered Rails: a mechanical floor of Tailwind tokens, a middle layer of named partials, and a natural-language contract in CLAUDE.md at the top. An engineer and a designer tell the story together — real code, real prompts, and what broke the first time.

SEPT 23 2:45 PM TRACK 2

How I Built a CI Platform on Rails as a Solo Developer

In 2023, frustrated with the clunky UIs of CircleCI and GitHub Actions, I decided to build my own continuous integration platform. I took inspiration from 37signals and Steve-Jobs-era Apple and built the product with the absolute minimum set of features necessary, but to the highest degree of quality and usability. The key principles are high standards, disciplined laziness, thorough automated testing, and aggressive refactoring. Paradoxically, a focus on high quality yields much greater speed than a thoughtless focus on speed itself.

SEPT 23 3:45 PM TRACK 1

Lingua Clanka: Markdown APIs for Action Text

Agent accessibility is now table stakes, and Markdown is the lingua clanka — the universal rich text format for both AI agents and humans. If you want your Rails app to be agent-accessible, your API needs to emit Action Text content as Markdown and accept Markdown updates from agents. This talk walks through Markdown support for Action Text: how Markdown is generated, and how parser configuration shapes what's stored when agents send Markdown.

SEPT 23 3:45 PM TRACK 2

Sharding Is Hard: Let's Make It Easier!

You've stuck to a single database. It has gotten beefier and beefier servers as the scale grows. Now your RDS bill is $500k a month and half your indexes have stopped working! Database scaling is a common problem for applications reaching large scale. Vertical scaling works well to a point but gets expensive fast. In this talk we'll explore the other approach to scaling your database, horizontally with sharding — where do you start, which table do you shard on, and how do you keep your transactions atomic when they need to cross multiple shards?

SEPT 23 4:30 PM KEYNOTE

The Most Valuable Engineer Isn't Shipping Features

As AI lets teams generate more code, many Rails engineers are discovering their bottlenecks were never about typing speed. They were slow feedback loops, fragile deploys, dependency sprawl, and years of overlapping architectural patterns that never fully disappeared. AI agents amplify those problems. They also reward systems built around strong conventions, predictable workflows, and integrated tooling — areas where Rails continues to double down. This talk explores why the engineers creating the most leverage are increasingly the ones improving the environment around the code.

SEPT 24 10:00 AM KEYNOTE

AI and the future of Ruby & Rails — a chat with Matz & DHH

Join Ruby creator Yukihiro "Matz" Matsumoto and Rails creator David Heinemeier Hansson for a conversation on the future of AI, Ruby, and Rails. They'll discuss how AI is changing software development, what it means for the Ruby ecosystem, and where they see opportunities (and challenges) ahead.

SEPT 24 11:15 AM TRACK 1

Agents on Rails: Building AI Pipelines in plain Ruby

Every application with users sits on a mountain of data. Buried within it are opportunities worth acting on, but finding them at the right time takes effort most people can't spare. In this talk, I'll walk you through how at Shopify we designed a multi-stage pipeline in plain Rails — no Python, no ML platform. The pipeline runs as a sequence of ApplicationJob batches, where some jobs call agents to research, and others call independent critic agents to validate what the researcher found. The pipeline also learns: when a suggestion is disliked, an ActiveRecord callback triggers a job that captures insights and feeds them back into the researcher.

SEPT 24 11:15 AM TRACK 2

Distributing Rails applications with ONCE

ONCE aims to be the easiest way to install and manage web applications. Built on the experience of shipping products like Campfire and Fizzy, ONCE also aims to make distribution easier for you as a Rails developer, by providing most of what's needed to make your applications simple to self-host. In this talk we'll cover what the ONCE platform offers, how it works, and the steps you can take to make sure your own Rails applications are ONCE-compatible.

SEPT 24 1:00 PM TRACK 1

Herb in Rails 8.2: Your ERB views, now HTML-aware

With teams, companies, and open source projects adopting Herb in their daily workflows, the foundation is proving itself at scale and is on track to become an opt-in view engine in Rails 8.2. This talk covers what Herb brings to Rails — how we made the integration possible, how we adapted and extended ActionView, and the toolchain and dev tools every Rails developer gets out of the box as a result.

SEPT 24 1:00 PM TRACK 2

Durable orchestration on Rails: from continuation to workflow

Rails 8.1 shipped Active Job Continuation so long-running jobs survive restarts and resume from a checkpoint. This was a real step forward, but can only be the beginning. The workflows Rails apps orchestrate today need more than interruptibility: durable state across steps, pause/resume capabilities, and human-in-the-loop-like interactions. This talk introduces a small, principled extension to Active Job that connects the dots: same step DSL, same job runner, now with persistent context, scheduled steps, and first-class resumeability.

SEPT 24 1:45 PM TRACK 1

Agent-Proof Your Rails App: Your Codebase Is the Prompt

When AI agents write code in your repo, your codebase becomes the context window. Messy conventions, implicit knowledge that lives in people's heads, and inconsistent patterns aren't just tech debt anymore — they're the reason the agent writes bad code. Working on GitHub's agent platform, I've seen firsthand what makes codebases easy or hard for agents to work in. With real before-and-after examples, you'll leave with a playbook for making your Rails app agent-friendly — which also makes it more human-friendly.

SEPT 24 1:45 PM TRACK 2

A deep dive into Solid Cable

When Action Cable was introduced, running Redis in production became the norm. But with the introduction of Solid Queue and Solid Cache, Redis became almost optional. Almost. With Rails 8, Solid Cable became part of the Solid family, making it possible to deploy many Rails apps to production without Redis. In this talk, we'll explore Solid Cable's internals, why it was created, how it compares to the other Action Cable adapters, and where realtime Rails apps are headed in the age of LLM interfaces.

SEPT 24 2:45 PM TRACK 1

Kamal Deep Dive

Learn the core concepts behind Kamal, how it's implemented and how it actually works under the hood. See how the most important parts of Kamal are designed. Understand deploying to multiple servers, using local and remote registries, or how Kamal Proxy fits in. Along the way, you'll gain a clear mental model of Kamal's architecture that should let you use Kamal to its full potential.

SEPT 24 2:45 PM TRACK 2

I Didn't Get MCP, So I Built My Way Through It

MCP is everywhere in AI tooling, but what actually is it? This talk follows one developer's honest journey: not understanding MCP, deciding to build an inspector to figure it out, and discovering something much bigger along the way. We'll walk through building a Ruby MCP inspector gem from scratch using Rails 8. Then comes the plot twist — what if your Rails app could read available MCP servers and generate its own UI dynamically? Add a new server, get a new interface. No redeploy.

SEPT 24 3:45 PM TRACK 1

The RubyGems Compact Index: What Powers Every bundle install

Three endpoints handle millions of requests per day, yet most Rubyists have never seen them. The RubyGems.org compact index is the hidden API behind every bundle install, powering dependency resolution across the Ruby ecosystem. In this talk, we'll explore how Bundler uses the compact index to resolve dependencies and how RubyGems.org serves it at scale — including improvements like publish cooldowns, smaller native gems, and security warnings.

SEPT 24 3:45 PM TRACK 2

Harness Engineering on Rails

Agents have re-shaped how AI can work with code yet we still use them like ChatGPT and wonder why they disappoint. The quest to one-shot our code with the perfect prompt is a trap. We get much better results by hooking into signals from RSpec, Rubocop, or even a self-review. This requires a paradigm shift: from chatbot to reactive system. When your reaction to mediocre code is to fix the harness rather than the mistake, agents can become valuable assistants that write code you are proud of.

SEPT 24 4:30 PM KEYNOTE

Rails World 2026 Closing Keynote

Aaron Patterson wraps up Rails World with his annual Closing Keynote. Come for the technical content. Stay for the laughs.