~/conference

RailsConf 2024

rails developers, ruby developers, full stack developers, test engineers, library and gem authors, engineering managers

accessibility for backend teams; rails testing and profiling; log-driven debugging; async without background jobs; rails versioning at scale; ruby lsp and editor tooling; composite primary keys in Rails 7.1; building Rails plugins and gems; plain old Ruby objects (POROs) in rails; active record performance tuning; Hotwire and Turbo 8 landscape; Postgres with OpenAI recommendations

titleauthorlength
Conference WelcomeAndy Croll, Adarsh Pandit22m
Welcome gives concrete logistics: the Wi‑Fi passcode is displayed, headshot slots require reservation, workshops ask for simple prework, and lunch/coffee…
Organiser on
Opening Conference KeynoteNadia Odunayo54m
StoryGraph scales from a few hundred to over a million users while keeping the stack simple and shoestring costs: a Rails monorepo, background jobs to generate…
Talk on
How to Accessibility if You’re Mostly Back-EndHilary Stohs-Krause45m
Back-end work changes accessibility in concrete ways: 16% of people have a disability, 20% have dyslexia, 8% of men are color blind, and over 10% of…
Talk on
So writing tests feels painful. What now?Stephanie Minn28m
Adds a test with RSpec and Factory bot for TierWithTrialUpgrader that exercises a new SubscriptionNotifier.notify_trial_started side effect and hits a Stripe…
Talk on
Ask your logsYoussef Boulkaid28m
Shows how Rails default multiline logs become structured JSON using Lograge, how logs stream to Elasticsearch and are explored in Kibana, and how a consistent…
Talk on
How to make your application accessible (and keep it that way!)Joel Hawksley43m
Shows concrete wins and costs: GitHub runs ax scanner across ~100 public domains and 2,000 pages, drops violations from ~18 to near zero on targeted runs, and…
Talk on
Ruby on Fails: effective error handling with...Talysson Oliveira Cassiano30m
Argues Rails apps need explicit, intentional error classes (inherit from StandardError, add data, e.g. ItemNotAvailable) and warns rescue_from Exception is…
Talk on
Look Ma, No Background Jobs: A Peek into the Async FutureManu J23m
Shows how to replace background job queues for IO-bound work by running requests inline on Falcon using the Async gem and ruby fibers. Describes an…
Talk on
Ruby & Rails Versioning at ScaleGeorge Ma36m
Shopify automates Rails upgrades across 300+ Ruby services by combining an upgrade calendar with tooling that actually performs steps not just proposes them A…
Talk on
What's in a Name: From Variables to Domain-Driven DesignKarynn Ikeda29m
Argues that naming is semiotics not style and demonstrates specifics: Rails copies controller instance variables into views so variable names must carry…
Talk on
Crafting Rails PluginsChris Oliver43m
Explains how to build a Rails plugin that actually hooks into the Rails lifecycle to add routes, configuration, migrations and to ship models, controllers…
Talk on
From Cryptic Error Messages To Rails ContributorCollin Jilbert28m
Shows a concrete fix: change form_with model default from nil to false so passing nil raises an early, clear error; write a unit test, run bin/test, and open a…
Talk on
Plain, Old, but Mighty: Leveraging POROs in Greenfield and...Sweta Sanghavi39m
Crowd‑platform work moves from prototype to live: a B2C crowdfunding product launches on schedule and the first campaign funds. The concrete claims are that…
Talk on
A Rails server in your editor: Using Ruby LSP to extract runtime informationAndy Waite28m
Shows that the Ruby LSP actually hooks into a running Rails process to read live state rather than guessing from source, surfacing database schema, migrations…
Talk on
Implementing Native Composite Primary Key Support in Rails 7.1Nikita Vasilevsky21m
Rails 7.1 adds native composite primary key support plus an ID_value accessor to read an ID column when the primary key becomes an array, a bulk where by…
Talk on
Riffing on Rails: sketch your way to better designed codeKasper Timm Hansen36m
Claim: sketching design directly in a single Ruby scratch file yields rapid, low‑cost iterations that expose names responsibilities and relationships and…
Talk on
Save Time with Custom Rails GeneratorsGarrett Dimon59m
Shows how to build custom generators for Rails using generator templates, Thor hooks, and generator tests so routine scaffolding and boilerplate go from ten…
Talk on
Closing Day 1Andy Croll05m
Day one wraps with concrete next steps: a Ruby Friend mentorship program that pairs early career devs with volunteers, a morning keynote from John Horon then a…
Talk on
Keynote: Startups on Rails in 2024Irina Nazarova52m
Recent founders report concrete wins: small teams switched from Next.js to Rails and shipped a product that earned a $6M seed after Y Combinator, another…
Talk on
Day 2 WelcomeUfuk Kayserilioglu09m
Agenda rundown and logistics that tell you whether to show up: hack day with open-source maintainers and color-coded tables and signage means anyone wanting…
Organiser on
Day 2 KeynoteJohn Hawthorn49m
Vernier is a sampling profiler for Ruby 3.2+ that actually records wall‑time and allocation samples together, surfaces 890,000 allocations from a bundler demo…
Talk on
From slow to go: Rails test profiling hands-onVladimir Dementyev02h 05m
Uses StackProf and speed_scope and TestProf sampling and event profilers to find concrete bottlenecks: removing coverage cuts startup ~15% (10s → 8.5s)…
Talk on
TDD for Absolute BeginnersJason Swett28m
Argues that the usual red‑green‑refactor mantra is often misleading and proposes a different, easier TDD approach that emphasizes concrete examples over rigid…
Talk on
SQLite on Rails: From rails new to 50k concurrent users and everything in betweenStephen Margheim01h 56m
SQLite on Rails: From rails new to 50k concurrent users and everything in between by Stephen Margheim Final Learn how to build and deploy a Rails application…
Talk on
Let’s Extend Rails With A GemNoel Rappin01h 44m
Step‑by‑step walkthrough that starts from bundle gem and ends with gem push, showing a working gem scaffolded, configured, and published. Covers concrete…
Talk on
Build High Performance Active Record AppsAndrew Atkinson01h 52m
In this workshop, you'll learn to leverage powerful Active Record capabilities to bring your applications to the next level. We'll start from scratch and focus…
Talk on
This or that? Similar methods & classes in Ruby && RailsAndy Andrea37m
Practical differences matter: Range#cover vs include shows cover about twice as fast on small ranges and massively faster on huge ranges (include drops to…
Talk on
Revisiting the Hotwire Landscape after Turbo 8Marco Roth32m
Claims that Turbo 8 significantly reduces reliance on heavy client frameworks and can eliminate a separate front-end build step, demonstrating concrete…
Talk on
Undervalued: The Most Useful Design PatternJared Norman32m
Argues that value objects are underused and, with Ruby's first-class support, become a practical tool for real systems. Shows concrete code patterns combining…
Talk on
The Very Hungry TransactionDaniel Colson34m
A single database transaction grows into a liability: inserts plus hundreds or thousands of updates cause deadlock errors and lock timeouts, slow queries and…
Talk on
Insights Gained from Developing a Hybrid Application Using...John Pollard34m
Build is a hybrid mobile app using Turbo-Native and Strada with a Rails backend, and about half of interactive screens end up implemented as native components…
Talk on
Pairing with Intention: A Guide for MentorsAlistair Norman37m
Practical method for pairing that centers the mentee by starting with a clear learning objective then shaping sessions into measurable steps, using short…
Talk on
From Request To Response And Everything In BetweenKevin Lesht36m
Follow a single HTTP request through Puma to a Rails process, see threads vs processes, and measure where latency accumulates — queue time, service time…
Talk on
Dungeons & Dragons & RailsJoel Quenneville37m
A working digital character sheet is built in Rails using Turbo instead of React, with live demo showing form handling, Turbo Frames and Turbo Streams powering…
Talk on
Attraction Mailbox - Why I love Action MailboxCody Norman34m
Email becomes a first-class UI for common flows by routing messages into your app and turning them into records and jobs. Action Mailbox ingests mail via…
Talk on
Dungeons and Developers: Uniting Experience Levels in...Chantelle Isaacs31m
Framework maps Dungeons & Dragons stats onto real team skills with a fillable Developer Character Sheet (QR code PDF provided) and a 0–5 self‑scoring. Key…
Talk on
From RSpec to Jest: JavaScript testing for Rails devsStefanni Brasil35m
A practical path from RSpec habits into JavaScript testing, focusing on Jest and concrete techniques: setting test data for front-end code, mock HTTP requests…
Talk on
Glimpses of Humanity: My Game-Building AI PairLouis Antonopoulos47m
Shows a Rails app co-developed with an AI partner called Atheniel-née-ChatGPT, documenting concrete workflows: iterative goal setting, a project plan…
Talk on
Beyond senior: lessons from the technical career pathDawn Richardson30m
The principal engineer role is concrete: led a 2022 initiative to deliver a community product across five+ teams, coordinates cross‑functional work with design…
Talk on
Progressive Web Apps with Ruby on RailsAvi Flombaum35m
A Rails app demonstrates a complete offline-first RSS reader that registers, installs, and activates a service worker registration flow, wires a Push API…
Talk on
Using Postgres + OpenAI to power your AI Recommendation...Chris Winslett45m
Claims Postgres alone can run a recommendation engine by storing and querying OpenAI embeddings and avoiding a separate vector DB. Uses Rails + ActiveRecord to…
Talk on
Day 3 ClosingUfuk Kayserilioglu, Andy Croll08m
Organizers say Ruby Central runs and maintains rubygems and bundler for the community keeping them operational and secure and treating CI and bundle installs…
Talk on
Closing KeynoteAaron Patterson45m
Announcements hit specific work and numbers: Rails will enable wet by default in production and teams report about 15% performance improvement on real apps…
Talk on
Recap06m
Sessions focus on Turbo and Hotwire and hands-on workshops; a hack day puts a hack day table around a single open-source project and produces concrete…
Promo on
Conference WelcomeAndy Croll, Adarsh Pandit22m
Welcome to RailsConf Detroit: Wi‑Fi details and the Wi‑Fi passcode are displayed, use the conference Slack and hashtags for reposts and staff updates, sign up…
Organiser on
Opening Conference KeynoteNadia Odunayo54m
Started on Rails in January 2019, this project becomes a book-discovery site that hits 1,000 users after two weeks of outreach, goes viral in June 2020, and…
Talk on
How to Accessibility if You’re Mostly Back-EndHilary Stohs-Krause45m
Backend work affects accessibility through concrete, testable changes: use avoid abbreviations everywhere, pick descriptive names and underscores in APIs, run…
Talk on
So writing tests feels painful. What now?Stephanie Minn28m
Painful RSpec work turns into a concrete refactor: an RSpec + FactoryBot test initially stubs Stripe::Subscription.new and stubs Trial.start, uses allow/expect…
Talk on
Ask your logsYoussef Boulkaid28m
Shows how to stop treating logs as text and build a queryable pipeline that actually finds root causes. Converts Rails logs to JSON-structured Rails logger…
Talk on
How to make your application accessible (and keep it that way!)Joel Hawksley43m
GitHub scales accessibility by measuring and owning outcomes: running axe scans across ~100 public domains and 2,000 pages to track violations, cutting many…
Talk on
Ruby on Fails: effective error handling with...Talysson Oliveira Cassiano30m
Avoid rescuing rescue from exception or using raises as control flow; create specific error classes that inherit StandardError (example: CheckoutServiceError…
Talk on
Look Ma, No Background Jobs: A Peek into the Async FutureManu J23m
Claims that external API calls and other IO-bound work no longer require background jobs because requests can yield to other work instead of blocking, using…
Talk on
Ruby & Rails Versioning at ScaleGeorge Ma36m
Shopify automates Rails and Ruby upgrades across 300+ services by combining an upgrade calendar with tooling that patches Dependabot and RuboCop and…
Talk on
What's in a Name: From Variables to Domain-Driven DesignKarynn Ikeda29m
Argues that names are semantic signs not just labels and shows how Ruby and Rails conventions — pluralization, capitalization, question-mark methods — actually…
Talk on
Crafting Rails PluginsChris Oliver43m
A live walkthrough shows how to package features as a gem that hooks into Rails lifecycle, using Railtie and mountable engine patterns to add routes…
Talk on
From Cryptic Error Messages To Rails ContributorCollin Jilbert28m
A Rails form error traced to a nil model causes either ParameterMissing or silent failures depending on context, so the fix changes form_with’s model default…
Talk on
Plain, Old, but Mighty: Leveraging POROs in Greenfield and...Sweta Sanghavi39m
A team builds a crowdfunding product and launches a first customer on schedule; the project funds. The talk claims plain old Ruby objects cut cycle time by…
Talk on
A Rails server in your editor: Using Ruby LSP to extract runtime...Andy Waite28m
Demonstrates that an editor language server uses live runtime data not just static analysis, claiming Ruby LSP connects into a running Rails runtime to extract…
Talk on
Implementing Native Composite Primary Key Support in Rails 7.1Nikita Vasilevsky21m
Rails 7.1 adds native composite primary key support so tables can use multiple columns as the primary key, with a new id_value helper to read an ID column when…
Talk on
Riffing on Rails: sketch your way to better designed codeKasper Timm Hansen36m
Design work happens in a single Ruby file using Rails conventions and near-runnable code to sketch controllers, models, and names quickly; sessions run about…
Talk on
Save Time with Custom Rails GeneratorsGarrett Dimon59m
Shows how to write Rails generators that actually create files, add routes, run migrations and push matching tests so recurring tasks go from ten-minute to…
Talk on
Closing Day 1Andy Croll05m
Day two schedule preview lists breakfast at 9:00 then an intro by Ufuk and keynote from John Horon before the hack day opens this room with the wall rolled…
Talk on
Keynote: Startups on Rails in 2024Irina Nazarova52m
Recent startups are choosing Rails and shipping fast: a house-services app abandons Next.js, switches to Rails, joins Y Combinator and raises 6 million seed…
Talk on
Day 2 WelcomeUfuk Kayserilioglu09m
Day two opens with a run-through of the schedule then moves into workshops, a full-day hack day and an afternoon pitch party that forms ad hoc teams…
Organiser on
Day 2 KeynoteJohn Hawthorn49m
A new Ruby 3.2+ sampling profiler called Vernier records both wall-clock and allocation samples, plus GVL, ractor, thread states, GC activity and idle time; it…
Talk on
From slow to go: Rails test profiling hands-onVladimir Dementyev02h 05m
Workshop shows concrete steps and wins: run a sample of 100 examples with stackprof and verer to find boot and GC hotspots, turn off per-run coverage to cut…
Talk on
TDD for Absolute BeginnersJason Swett28m
Argues that red‑green‑refactor teaching is misleading and replaces it with a concrete, easier sequence: write one specific failing example, make the smallest…
Talk on
SQLite on Rails: From rails new to 50k concurrent...Stephen Margheim01h 56m
SQLite on Rails: From rails new to 50k concurrent users and everything in between by Stephen Margheim Learn how to build and deploy a Rails application using…
Talk on
Let’s Extend Rails With A GemNoel Rappin01h 44m
Walks through creating a Ruby gem from bundle gem to gem push, shows how to expose configuration and integrate as a Rails Engine or simple initializer, and…
Talk on
Build High Performance Active Record AppsAndrew Atkinson01h 52m
In this workshop, you'll learn to leverage powerful Active Record capabilities to bring your applications to the next level. We'll start from scratch and focus…
Talk on
This or that? Similar methods & classes in Ruby && RailsAndy Andrea37m
Benchmarks on Ruby 3.3.0 compare many concrete alternatives: cover vs include shows cover ~2x faster on small ranges and massively faster on huge string ranges…
Talk on
Revisiting the Hotwire Landscape after Turbo 8Marco Roth32m
Revisits how Turbo 8 changes Hotwire workflows and gives a concrete Turbo 8 migration checklist with steps to replace ad‑hoc WebSocket logic by Turbo Streams…
Talk on
Undervalued: The Most Useful Design PatternJared Norman32m
Explains how value objects now get first-class support in Ruby and shows concrete examples of modeling money, IDs, and validation objects that reduce coupling…
Talk on
The Very Hungry TransactionDaniel Colson34m
A small ActiveRecord save grows into a multi-hundred-query transaction as inventory updates, HTTP calls to a fulfillment API, and background-job enqueueing get…
Talk on
Insights Gained from Developing a Hybrid Application Using...John Pollard34m
Build of a hybrid Sprout mobile app uses Turbo-Native and Strada to render most UI as HTML while integrating key native features for performance and UX. A…
Talk on
Pairing with Intention: A Guide for MentorsAlistair Norman37m
Break pair sessions into 15-minute micro-tasks, switch roles every 10–15 minutes with role switching, and focus each session on a single, testable feature such…
Talk on
From Request To Response And Everything In BetweenKevin Lesht36m
Follows a real Rails request from load balancer to response, explains how Puma processes (one request per thread) and multithreading interact with the Global…
Talk on
Dungeons & Dragons & RailsJoel Quenneville37m
Builds a fully interactive Dungeons & Dragons character sheet implemented in Rails using Turbo instead of React, demonstrating how to handle real‑time edits…
Talk on
Attraction Mailbox - Why I love Action MailboxCody Norman34m
Action Mailbox routes incoming email to controller-like mailboxes by address, header or regex and processes them with Action Mailbox ingress adapters (Postfix…
Talk on
Dungeons and Developers: Uniting Experience Levels in...Chantelle Isaacs31m
Maps D&D mechanics onto team hiring and development with a practical Developer Character Sheet (PDF via QR): years at work become levels, technical skill is…
Talk on
From RSpec to Jest: JavaScript testing for Rails devsStefanni Brasil35m
Compares RSpec habits with Jest and shows concrete Jest recipes for Rails apps: configuring Jest, writing unit tests for plain modules and DOM-interacting…
Talk on
Glimpses of Humanity: My Game-Building AI PairLouis Antonopoulos47m
A Rails game gets built with an AI co-developer named Atheniel-née-ChatGPT, showing the exact prompts, code snippets, and git commits used to move from idea to…
Talk on
Beyond senior: lessons from the technical career pathDawn Richardson30m
Principal-level work shifts from coding to coordinating: leads a 2022 community-product initiative that touches payments, checkout and integrations and…
Talk on
Progressive Web Apps with Ruby on RailsAvi Flombaum35m
A Rails app builds an offline-first RSS reader that registers, installs, and activates a Service Workers script and uses the Push API to subscribe users to…
Talk on
Using Postgres + OpenAI to power your AI Recommendation...Chris Winslett45m
Builds a working recommendation engine using Rails + ActiveRecord, stores OpenAI embeddings as vectors in Postgres and queries them with approximate nearest…
Talk on
Day 3 ClosingUfuk Kayserilioglu, Andy Croll08m
Closing remarks summarize sponsors and logistics, announce that Ruby Central runs RubyGems and Bundler for the community, report that the conference theme is…
Talk on
Closing KeynoteAaron Patterson45m
Announces concrete Rails and Ruby changes: Rails will enable YJIT in production by default and ships an initializer to enable JIT after boot, reporting about a…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.