iTranslated by AI
I Attended Kaigi on Rails 2025
I attended Kaigi on Rails 2025, which was held on September 26 and 27, 2025.

I've been using Ruby for quite a while (about 28 years?), but I've only been using Rails for less than 4 years, so I'm still a novice.
This was my first time attending Kaigi on Rails in person.
My company covered the participation, travel, and accommodation fees, so I spent some time minding the booth.
The presentation slides are compiled here, which is very convenient.
Below are the sessions I attended.
Day1
SponsorLT
For some reason, there was a painful story during the Sponsor LT about an engagement being broken off right before a wedding.
Keynote: dynamic!
I think the talk was about how, when building apps with Rails, you shouldn't solidify the design from the start but instead build it while thinking. Rails is well-suited for agile development.
Build advanced UI/UX with Hotwire
I'm not very good at frontend so I didn't understand it all that well, but I don't like React, so I'd like to try using Hotwire.
Introduction to FormObject
There were several things that felt off to me, so it didn't quite sink in.
- It's only called a model if it's a class inheriting from ActiveRecord
- Form objects are not models
- Using Form objects is not the Rails Way
…and so on.
I think it's fine to consider a Form object as a model for handling data related to multiple ActiveRecord models passed in a single request in the Rails Way.
No more fear of parallel execution: Practical approach to solving connection exhaustion and deadlocks
This talk was about connection pool exhaustion, but I think setting the maximum number of connection pools to something like 1000 roughly is probably fine.
Since the number of connections to the RDB is determined by the number of processes and threads, it doesn't seem necessary to calculate the maximum number of connection pools strictly and keep it small.
Bridging Hotwire and frontend frameworks with Web Components
Custom Elements are great. I love that you can create your own elements using standard HTML features.
Learning from 5 years of Fintech x Rails practice - Building highly reliable systems through adherence to basics
1500 examples in 2 minutes! Environment construction techniques for lightning-fast CI
Various strategies for speeding up CI.
GitLab is nice because it's feature-rich. GitHub is catching up, though.
The punchline was great.
Thinking about Service classes again — 10 years as a Rails developer
Joker apparently wrote the Service class section for "Perfect Ruby on Rails".
However, he mentioned that he now thinks it's better not to use them.
Well, I guess you can just create appropriate classes for all business logic and put them in models, even if they don't inherit from ActiveRecord.
I didn't quite understand the talk about Modular Monoliths toward the end.
Day2
Double Request Complete Conquest HANDBOOK
It seemed like a presentation with many useful tips.
Range on Rails — Why the "Multirange Type" as a New Option Dramatically Simplified Complex Logic
Just recently, when handling time-series data became complex, I was able to simplify it by creating a Ruby class for multirange types. I didn't know PostgreSQL had a multirange type. It might be good to try it out.
Infrastructure for Asynchronous Processing, Escaping Delayed — The Journey to Full Migration to Solid Queue.
Solid Queue looks good.
Authentication Infrastructure Service Built with Domain-Specified Cookies and Shared Redis Between Services
"Complex Data Processing × Static Site" Compatibility: Low-Effort Rails Operations
Authentication in the Rails 8.0 Era Learned from rails g authentication
I learned a lot. It feels like rails g authentication just creates a boilerplate for an authentication system, so it seems like it's aimed at people who want to build their own authentication system from scratch.
Keynote: Building and Deploying Interactive Rails Applications with Falcon
Falcon looks promising.
Closing

Kaigi on Rails was really great.
There were many topics that seemed more directly useful for my job compared to RubyKaigi or RubyWorld Conference, so I ended up listening with a work-oriented mindset.
Bonus
Discussion