r/rails 10h ago

Surviving Black Friday: 329 billion requests with Falcon

Thumbnail youtube.com
Upvotes

r/rails 4h ago

Building an open-source Slack first incident management platform with Rails 8.1

Upvotes

I’ve been building FireFight, an open-source Slack-first incident management platform, on Rails 8.1 with Inertia + React.

I recently open-sourced it and started building in public, so I figured I’d share it here in case anyone is interested in looking through a larger Rails 8 app or following along.

Most of the incident workflow happens through Slack. Declaring an incident creates the incident channel, brings in the right people and keeps a timeline of what happened. There’s also an MCP/API layer that lets agents interact with the same system, with their own identity, permissions and approvals.

The next big thing I’m working on is the AI SRE side, with automated incident investigation and eventually resolution.

https://github.com/FireFightLabs/firefight

Happy to answer questions about how it’s built or why I made some of the choices I did.


r/rails 11h ago

I built AddAuth to add magic links and passkeys to Rails 8’s authentication

Thumbnail
Upvotes

r/rails 18h ago

Learning My first "big" project

Upvotes

Hello guys, as university student that wants to apply to junior Rails dev, i made project that even you can try.

It works as stock broker portfolio agregator (Trading212 and Etoro), that takes snapshots of current account balance, exchange it to live EUR rate, and sums them into nice looking chart.

Its all happening in background job so you dont need to worry about that.

Then it notifies you each day about the difference summary, or if your API keys are wrong.

i deployed it on my VPS with kamal (easier than i thought) so you can try that yourself (you can set your API keys to read-only, but i respect that prolly noone will put it there).

Also you can try that yourself as i already set it up with Docker for you.

Deployed: https://railsfinancemanager.online/

Github: https://github.com/TheP4trik-tech/Portfolio-Manager

I am open to any critism or ideas :)


r/rails 1d ago

Do you still plan on using devise with rails 8

Post image
Upvotes

r/rails 2d ago

News It seems like OpenAI's Autonomous Agent Swarm was behind the Rubygems supply chain attack, preceded the Hugging Face attack.

Upvotes

Start here: https://x.com/JesseWaites/status/2096071358593794223

and here: https://x.com/she_llac/status/2096006214467645513

FWIW I am hearing reports that people are currently finding compromised Rubygems that seem like they were planted by the swarm for unknown purposes.

All of this is in reference to the specific attack. I didn't write this article, I just thought it was a good write-up. https://www.mend.io/blog/inside-the-rubygems-supply-chain-attack/ If anyone knows anyone currently working at RubyGems, it might be a good idea to bring all of this to their attention.

As far as I know, no one from RubyGems has commented on any of this information since it came to light yesterday.


r/rails 3d ago

Retrofitting multi-tenancy onto a Rails app that assumed one customer: 68 callsites later

Thumbnail gallery
Upvotes

I have been building an HRMS in Rails 8 for a while, and two parts of it are worth writing up because both are problems every long-lived Rails app runs into eventually.

User-defined fields without an EAV table

HR systems hardcode one industry's vocabulary. A hire is a "developer", a leave is "PTO". Then a septic-pumping company needs driver licence categories and ADR clearances on the employee card, and a clinic needs licence numbers with expiry dates, and you are writing migrations for other people's business.

The usual answers are an EAV table or a settings jsonb blob that nothing validates. I went with a schema described in the database and values in jsonb:

ruby Dictionary # kind: "lookup" | "field_schema" # code: "DocumentType:5" → target model + scope # entries have meta["type"] in # string textarea integer decimal date boolean select

Values live under a "_custom" sub-hash inside a jsonb column on the record. Forms, display and the AI extraction all read the same schema, so adding a field is one action in the UI rather than four places in code.

The part I would defend in review is the fallback:

ruby def lookup_options_for(code, fallback: nil) dict = Dictionary.lookups.kept.where(company: company, code: code).first entries = dict&.entries&.active.to_a entries.any? ? entries.map { |e| [e.value, e.key] } : (fallback || []) end

Call it with the hardcoded array you already have in the view. A company that configured nothing keeps the old behaviour; a company that added a dictionary gets its own list. So the mechanism went in incrementally, view by view, with no migration and no flag day. That is the only reason it got finished.

Retrofitting multi-tenancy onto an app that assumed one company

The app started single-tenant, which means Company.kept.first ended up in 68 places. Controllers, jobs, services, API. Every one of them a bug waiting for the second customer.

The target is boring: Current.company, resolved by a small middleware from the subdomain, so nothing downstream asks how it got there. Getting there was not boring, because you cannot flip 68 callsites in one commit and still be able to review it.

What worked was a scripted rewrite by category, not by file. Controllers inheriting ApplicationController got a current_company helper. Jobs, services and models got Current.company || Company.kept.first. That is an explicit fallback chain rather than a bare Current.company, because a background job without a request has no subdomain to resolve from.

45 of 68 migrated in that pass. 23 are still there: 13 behind the fallback chain, which is fine, and 6 bare, which is not. I know where they are and they are on the list. If you have retrofitted tenancy onto a live app you know the last ten per cent is where the interesting bugs live.

The e2e spec that came with it is the part I would keep even if I threw everything else away: it creates two companies and asserts that nothing from one is reachable from the other.

The rest, if you want to look

Rails 8, Hotwire, Postgres, Pundit, Discard for soft delete, an audit log with revert. 46 models, 67 tables, about 15k lines of Ruby. Three locales with 2363 keys in each, verified equal rather than assumed. Thirty-six AI actions that run against any OpenAI-compatible base URL, and a page that adds up what they cost by task and by model.

It is beta and MIT. docker compose up -d brings up Postgres with it, and no AI key is needed to look around.

Repo: https://github.com/dripips/rubby-hrms

Happy to go deeper on either mechanism if anyone has done this differently. I am not convinced the jsonb-plus-schema-table approach is right, only that it beat the two alternatives I tried first.


r/rails 3d ago

ruby-utcp: a Ruby client for UTCP with native protocol calls, MCP support, and Code Mode

Thumbnail
Upvotes

r/rails 3d ago

Gem rails_credentials_cipher: edit credentials in a plain yaml file instead of the terminal

Thumbnail github.com
Upvotes

I made this gem because I disliked the UX around editing credentials. I can now decrypt them into a gitignored file, edit, then encrypt again.

https://github.com/thisismydesign/rails_credentials_cipher


r/rails 4d ago

Discussion Does anyone code without LLMs anymore?

Upvotes

In the last two years, my business went from booming to dead. Clients I've worked with for over a decade have ghosted me, new clients aren't spending money, and I've logged less than 200 hours in total this year. And it's mostly because of AI. I can see it in the GitHub repos I'm still a part of, and the pattern repeats across multiple organizations: one developer is using Claude or similar LLMs, directly committing code to main (or sometimes a hotfix branch) without review, headed up with barely legible comments, in formatting standards we never adhered to.

Now, listen, I'm not gonna sit here and discuss the positives or negatives of AI. I'm not gonna sit here and wallow on why large businesses choose to ghost over saying "hey, we don't need you to do this any longer."

I just want to know if there are people or companies out there still writing and reviewing code. Putting eyes on it. Understanding it. Maintaining it. You know, generally have any clue what's happening beyond "it's Rails, and that's what Claude spit out, and it works."

Maybe I'm old school, but I've always taken pride in learning, knowing, and working with Ruby and Rails (and all the parts and languages and APIs that work with it). And, for better or worse, I've decided to take a completely different career path after over 20 years working with Rails, because this isn't what I signed up for.

I just want some hope that the joy of writing code is still out there. If there is, that's a part of the dev world I'd like to still be a part of.


r/rails 4d ago

Question Best LLM for rails development

Upvotes

Basically the title. What is the best LLM you found for rails development?


r/rails 3d ago

Questions about deploying Rails applications

Upvotes

Hey all! As you know other frameworks, NextJS, SvelteKit, etc you just connect to Supabase / Firebase / Pocketbase write your code, and deploy everything for cheap / free to Vercel / Netlify / Cloudflare

Yes I know.. these extrapolate your app into little cloud functions but rails is a whole entity on it's own so my question is:

For Rails, are there any cheap or free places to host your applications?

I heard so much about Hetzner, DO, Linode but do you really need to provision a whole VM just for your app?

Are there any better solutions? Flyway, Render while cheap, are not free.

Anyone here running their production Rails apps on a home server? Raspberry Pi?

It's like you buy once and you can save a whole bunch and you are pretty much up 100% of the time, unless you switch your power off


r/rails 3d ago

Open source Open-source template for anyone building an agtech startup.

Thumbnail
Upvotes

Sharing AgEvidence as an open-source Rails template for anyone building an agtech startup.
It has a bunch of the boring-but-useful infrastructure already scaffolded around evidence, observations, interventions, operational records, provenance, and verification workflows, so you can spend more time on the actual agtech product.
Still early, but figured it might be useful to other builders here.
https://github.com/meronrudy/AgEvidence


r/rails 4d ago

Have you evangelised Ruby or Rails?

Upvotes

Do you love working in Ruby?

Do you enjoy the convention over configuration in Rails?

Are you happier since both Ruby and Rails have developer happiness as its core values?

Have you shared the joys of working in Ruby or Rails with other non Ruby developers?

Have you shown other non Ruby developers how token efficient Ruby is?

Have you shown other non Rails developers how fast one can get a working prototype up and running while they’re fighting with packages or selecting which ORM or schema handler to use?

Have you shown other developers how expressive and fun it is to write performant and clean Ruby code?

This would help keep our happy ecosystem alive yes?


r/rails 4d ago

Organising a 5 day conference on ecological connectivity & nature positive infrastructure (Bristol uk/ Online) - thought some of you might find it interesting

Thumbnail
Upvotes

r/rails 5d ago

Average Rails Monolith Enjoyer: tooling nobody asked for

Upvotes

Hey folks

I have never done any "self promotion" on any social media, but after all - why shouldn’t I? Dropping some binaries for all Rails loverz, hope somebody will find them useful!

rspec-sanity (2023 - hand crafted code, lol, remember those times kids?) - dead simple RSpec wrapper for your CI written in Go - it will re-run your test suite upon failures (once) using a fresh RSpec process - and if those tests succeed on the 2nd attempt - it will ticket those findings as a Jira ticket or GitHub issue (two backends supported); I used this in two different companies on two medium/biggish monolith apps to tame flaky test suites in an actionable/structured manner; link to an example PoC repo which demonstrates the concept in the README

i18n-tasks-rs (2026) - Rust port of i18n-task - I was tiptoeing around performance issues in i18n-tasks, looking for some leverage and after 2 weeks decided to drop some features and slop port it in Rust, which is waaay faster, so I could use it in git hooks without losing my mind; if you’re using i18n-tasks with Prism as a parser you probably won’t even have to migrate anything; if you’re not using i18n-tasks in your app - you better start! (probably with the OG gem)

crabwerk (2026) - fork of packs, which is Rust port of packwerk from Shopify that helps you enforce some boundaries in your Rails monolith; I just did some maintenance, ripped out some features from packs, replaced outdated deps, cleaned up the release process and set up some Renovate auto-maintenance

And yes - slopping logos in ChatGPT is my passion if anyone asks xd.


r/rails 5d ago

Gem Tooling you should definitely start to use

Upvotes

Inspired by the rails monolith enjoyer post.

Kind of clickbaity title because I don't have a definite list, but curious what you would suggest?

I'll start:

- a test suite obviously, I started with RSpec but converted to minitest. 100% test coverage, there's a gem to enforce test coverage but I forgot the name - anyway, enforce test coverage systematically once you reach it! (But beware of Gemini writing "assert true" tests)

- I started using Rubocop only very recently because the agents and the IDE kept mentioning it and I don't have to implement it anyway, so I got Rubocop with the right cops in a pretty good state in just a few hours.

- Bullet for catching n+1 queries in your app and avoid unused eager loading. I discovered this one only very recently as well.

Thank god my test suite isn't flaky anymore because the agents already fixed quite a few issues, but the thing mentioned in the other post sounds neat to tackle it in a structured way.

What else am I missing? Thank you for your suggestions.


r/rails 4d ago

Game builder built with Rails and Godot

Upvotes

Started out building a game with AI, just like everyone else on the planet. But then I decided to do something different and build a game builder/editor instead.

I think the beauty is in the way godot and rails work together to deliver the experience. The editor allows you to interact with the live rendered world. Give it shot and let me know what you think! Everything is still early development, in beta and free, so I will take your feedback seriously. Have fun!

Game builder: https://app.fusionery.com


r/rails 6d ago

Slop On Rails At 1000 commits per day.

Upvotes

Hi,

It September and I see more and more veterans losing their jobs. More juniors changing their title on LinkedIn from junior to lead. Leading what? A bunch of Agents with subscriptions? That not leadership if you are the only human in the team.

So recently I joined a company as part-time consultant because I believed a long term Ruby dev was still with them. They contacted me. I did not warn my friend because I wanted to show up as a surprise. Turn out he was let go in February.

But that not the big red flag.

The biggest red flag was that this company created a new project to upgrade from Rails 8.0 to Rails 8.2. The project is 6 months old and has 102k commits. More than rails/rails.

5 people with agents hitting the keyboard like primitive apes.

The Rails application was massive, over 400 controllers. Rails, but some engines were built in Sinatra. 2 databases, MySQL and PostgreSQL. They moved from MySQL to PG and left their 2000$ instance with old data, and it still has auth data from 2025. You can login with your actual password, or the password you set in 2025 (forever).

I spent 3 days with them, then I said that I cannot continue.

Why ? Because everything was slop. Anything you touch will break.

Some parts of the code were monkey patches of my own gems because the agents didn't read the documentation. The feature already exists, the agent was just not smart enough to find it.

That was a funny moment. Imagine maintaining a gem for years, then joining a company and discovering an AI wrote a monkey patch around your own code because nobody bothered to read the documentation. They also have 3 pagination gem, pagy, will_paginate and kaminari.

Every commit had Claude, Codex, DeepSeek, Kimi, or Antigravity.

Over 800k lines of Ruby and every comment explains to you the origin of Ruby or Rails.

"Rails 8.2 deprecated X, use this."

Im like BRO, we are in Rails 8.2. Why is this shit in the codebase ? Who is this comment even for ?

The codebase reads like 20 different developers with 20 different opinions worked on it, except most of those developers are models and none of them remember what the previous one decided. The senior operators (the humans), are taking bullshit Javascript libraries and converting them to ruby and pushing them to rubygems.

And not only that…

This company is handling medical records for a European country.

All data was accessible to everyone. Most of the other devs have less than 2 years in Ruby. They don't know the ecosystem. They changed established patterns to use ReactJS. Not even react-on-rails, they just use React with npm and created another ecosystem inside the application because apparently one ecosystem was not enough. Everyone is using whatever model they want, and the models have full access to those data.

Not only that, they hooked the platform to send webhooks to Slack, with full data.

Some of the "doctors" responding to users are just Claude or recently Gemini or that free model that openrouter said "It free, but we collecting all info"

At this point the problem is not whether Claude writes better Ruby than a junior. The problem is that nobody knows where the data goes anymore , why half the code exists, and why they keep code in the code base wrapped with `if 0`

And nobody has enough time to understand it because the agents are generating more code faster than humans can review it.

I'm not naming the company for now, but this post is a landmark i will update when everything blow up.

Also my point is that the fallout of AI-powered development is going to be big.

We spent decades trying to make software simpler. DRY, conventions, simple code, small interfaces, reusable libraries, documentation.

Then we gave developers a machine capable of generating 10000 lines per day.

102k commits in 6 months is not productivity or embracing Agentic work.

Even if you pay me thousands per day, it not fixable anymore in the normal sense. Nobody had an idea what the project was doing.

All documentation is in MD files generated alongside the code, and those files go outdated the second another agent decides to “refactor” something.

Their onboarding rules were that i use AI to read those MD files.

Before AI, when I joined a project I normally found one type of problems.

Performance problems. Bad library choices or database design. Wrong patterns. Technical debt.

Nowadays I find all of them at once. And the real management is always busy with Real life shit, or trying to install the new model that is out today.

When I saw this one, I didnt even bother telling them all the flaws. There were so many that making the list would just create another 20000 lines of Markdown for Claude to summarize.

I will update this thread with the name of the company if things blow up in the future.


r/rails 5d ago

Learning Haystack vs LangChain for RAG apps—what’s your go-to in 2026?

Thumbnail
Upvotes

r/rails 6d ago

Going back to Rails after years of node/react/angular - does it make sense in this market?

Upvotes

I worked with Rails for ~4 years and then switched to node/react/angular for ~8 years. Worth going back to the Rails niche?


r/rails 6d ago

Has the Rails Job Market Completely Died?

Upvotes

I'm in Canada, have about a decade in the field across a few full-stack and back-end contract and permanent roles, all using Rails in some capacity. Seeing almost no remote roles open to me.

There are a handful of remote roles posted in a month at the main remote work job boards such as https://jobs.rubyonrails.org/.

LinkedIn jobs search seems remarkably degraded in its utility from a few years ago -- putting in "Ruby Developer" returns 3000+ results of generic development and development related results. I remember being able to get decent results with a bit of search prompt refinement.

I'm aware that the wider tech market is in a bad recession currently, but our area seems to have been hit even harder. Is everything going through recruiters? Or is hiring for Ruby developers now dead as a door nail?


r/rails 7d ago

Two years on: Plutonium, a rapid application development toolkit for Rails

Upvotes

Two years ago I posted here about Plutonium, a rapid application development toolkit for Rails: https://www.reddit.com/r/rails/comments/1ddxv0b/a_rapid_application_development_toolkit_for_rails/

It's come a long way since and I also finally wrote about it properly (it is AI assisted): https://radioactive-labs.github.io/plutonium-core/blog/introducing-plutonium

What's in it:

- Resources. Your models, automatically exposed with CRUD, nested and action routes

- Portals. Apps, with multi-tenancy built in

- Authorization on ActionPolicy, per field and per action

- Definitions for customization, with everything else detected from your model

- Interactions for business operations

- Search, filters, sorting and CSV exports

- Rodauth for auth, generators for the boring parts

Newer and still experimental:

- kanban boards

- wizards

- async interactions (background actions with progress reporting)

Repo: https://github.com/radioactive-labs/plutonium-core

We are still pre-1.0, but the core is stable and running in production.
Would really appreciate feedback as we prepare for a 1.0 release.


r/rails 6d ago

Ruby Users Forum - Monthly Update - August 2026

Thumbnail rubyforum.org
Upvotes

r/rails 6d ago

Jon & I debate how our opinions have changed on whether to use Rails for marketing sites

Thumbnail judoscale.com
Upvotes