Back to Posts
Everything I do now, every time I try to learn something new, create a new project, do work, I always think:
I hate that I love Ruby on Rails
Published on July 24, 2026
How did I start loving it?
I fell in love with Ruby on Rails at my first internship that later turned into my first real employment within programming and coding. I studied frontend web development, so most of my knowledge was just Javascript/Typescript, React, some Vue, and extremely little backend in form of Node.js/Express. Coming into Ruby on Rails, doing frontend work in there felt clunky, hard, not very intuitive, and not "react". It was my honest feelings. I thought it was old, legacy, and waste of time to learn, because who even uses that?
Fast forward a month into my internship, and I was put on a backend heavy project. I had mainly worked on frontend, since that's what my studies was about. I was a bit unsure if I could do anything at all there, but something just clicked for me looking at the code. Things were really structured (the general Ruby on Rails model, not the codebase). It felt natural to look at and how things worked. It quickly turned from the thing I thought I would barely end up touching, to the thing I enjoy the most. As months went by, internship turned to employment, I spent most of the time working on backend heavy projects, making our own AISP(Account information service provider) with Open Banking that connected to several different banks in Sweden, I made APIs for our customers, Data scraping/integrations and much more. I loved it. The Ruby language felt like it was made for quick iteration. Rails conventions speeds everything up, and the code can be extremely beautiful. The batteries are all there. There's no missing pieces, and it feels like a whole solution. It feels like it does it all.
Fast forward a month into my internship, and I was put on a backend heavy project. I had mainly worked on frontend, since that's what my studies was about. I was a bit unsure if I could do anything at all there, but something just clicked for me looking at the code. Things were really structured (the general Ruby on Rails model, not the codebase). It felt natural to look at and how things worked. It quickly turned from the thing I thought I would barely end up touching, to the thing I enjoy the most. As months went by, internship turned to employment, I spent most of the time working on backend heavy projects, making our own AISP(Account information service provider) with Open Banking that connected to several different banks in Sweden, I made APIs for our customers, Data scraping/integrations and much more. I loved it. The Ruby language felt like it was made for quick iteration. Rails conventions speeds everything up, and the code can be extremely beautiful. The batteries are all there. There's no missing pieces, and it feels like a whole solution. It feels like it does it all.
Why do I hate that?
Everything I do now, every time I try to learn something new, create a new project, do work, I always think:
I wish I was doing Rails now.
I love my current work, even if I do not work in Rails anymore, but in almost all cases except very few(mostly our frontend, which is very complicated), I always think that whatever issue that arises, is a non-issue in Rails. Want to utilize websockets? Emailing functionalities? Auth? Caching? Scheduled jobs/Cron jobs? Migrations? Storage? It all comes with the car. Compare it to a more modern stack, such as lambda functions with something like Firebase:
- You can do cron jobs, but no scheduled in the future, has to set up a cron job every x minute if you want something to happen, and utilize something like a task collection in Firestore.
- You can do cron jobs, but no scheduled in the future, has to set up a cron job every x minute if you want something to happen, and utilize something like a task collection in Firestore.
- No websockets functionality, you're limited to snapshot listeners and working on a Firestore document, or their Realtime Database solution, with several limitations on access that is tricky to get right for any complicated setup when using their client SDKs.
- Caching is either in form of offline availability -> niche, but techincally good, or it is purely on their side. You still pay the same for your queries and writes. You have to utilize storage solutions on your client(sessionStorage, states, etc).
- Auth is fairly good, but access is troublesome. Updating any custom authorization causes the users to have to re-authenticate and other troublesome steps to get it to work.
- Emailing only exists for auth. Promotional, or transactional emails has to be outsourced to another third party.
Now if I am making my own project, and want to use some "modern" solution, whenever it is Firebase, Supabase, or whatever else there is for cloud solutions, they all come with different drawbacks that it feels that is just solved in something as mature as Rails. I could even turn this into a rant about specifically cloud service providers, since this is also mostly solved in other ecosystems, like Elixir: Phoenix is really solid, and might be taking my number 1 spot in the future. Laravel is also insanely popular. AdonisJS is similar to Laravel, and seems to move towards that as well. However, with my current experience in Ruby on Rails, and familiarity, and so much of it "just works", I really hope to keep working with it a bit longer.
Btw this site is built with Ruby on Rails. No React, no AI, just me and my fingers, not that there's anything impressive with it. But it feels fresh, and "pure" in some sense.
- Caching is either in form of offline availability -> niche, but techincally good, or it is purely on their side. You still pay the same for your queries and writes. You have to utilize storage solutions on your client(sessionStorage, states, etc).
- Auth is fairly good, but access is troublesome. Updating any custom authorization causes the users to have to re-authenticate and other troublesome steps to get it to work.
- Emailing only exists for auth. Promotional, or transactional emails has to be outsourced to another third party.
Now if I am making my own project, and want to use some "modern" solution, whenever it is Firebase, Supabase, or whatever else there is for cloud solutions, they all come with different drawbacks that it feels that is just solved in something as mature as Rails. I could even turn this into a rant about specifically cloud service providers, since this is also mostly solved in other ecosystems, like Elixir: Phoenix is really solid, and might be taking my number 1 spot in the future. Laravel is also insanely popular. AdonisJS is similar to Laravel, and seems to move towards that as well. However, with my current experience in Ruby on Rails, and familiarity, and so much of it "just works", I really hope to keep working with it a bit longer.
Btw this site is built with Ruby on Rails. No React, no AI, just me and my fingers, not that there's anything impressive with it. But it feels fresh, and "pure" in some sense.