Hanami after one week

October 04, 2025

Saturday marked one week since I started my serious endeavors to learn and use Hanami to build full-stack web apps. It has been a journey of learning, struggling and pain. But learning is not a bad thing, I certainly had some basics I was able to gloss over from my decade+ of experience using Ruby on Rails.

My experience with Ruby / Rails and other frameworks.

My learning of Ruby goes back to 2012 and 2013. I wanted a personal website and a high school friend introduced me to none other than Sinatra for it. I didn’t know what I was doing but I was hooked basically copying and pasting the human-readable Ruby to make my endpoints for a home page, contact page and about page. It was unlike nothing I ever felt before when I tried to make PHP websites to make a Neopets clone in the mid-2000s as a middle schooler who had far too much time on the family computer. Luckily that time turned into a career I’m thankful to have so hey, take that mom!

In 2013 I first got my taste of Ruby on Rails, presented as many did back then, through RailsCasts! It was awesome. But it didn’t click for me to figure out how to make my own stuff with it until 2014. Rails 4 had just come out on the tail end of 2013 and I was feeling a bit lost because documentation and guides weren’t really updated like I needed them to be for a beginner. I persisted and gave up a few times before it eventually clicked one day during a shower.

Since then, I’ve largely been a die hard Ruby on Rails user and evangelist, despite the bad parts. It was the most productive framework for building web apps for me for a decade+. I largely cast aside the issues with the creator + their company and tried to use it as “art separated from it’s creator” but over the years that has been weighing me down more and more and I can no longer do this and remain true to my personal value system. For those personally affected, I’m frankly sorry it took me so long to come to this conclusion for myself. I’ve always tried to support those who’ve left the orbit of the creator of Rails, but I digress, I still used it and sadly the reality is I largely will be for years due to capitalism.

I’ve flirted with other frameworks like Phoenix and Elixir, and Laravel and PHP. I actually had a solid couple months of using PHP and Laravel for a while after a third of Basecamp left and core maintainers I respect resigned from the core Rails team, but it wasn’t for me long term, I just cannot find happiness writing code with other languages than Ruby. I’m a Ruby girl through and through, and there’s really been one major serious contender in the web frameworks space: Ruby on Rails.

Hanami has existed for many years, once called Lotus (which I actually had known about when it was called Lotus and tried once), but I didn’t want to leave the comforts of my Ruby on Rails familiarity and ecosystem. There were libraries for everything! Leaving Rails meant I need to build my own or find something new, it was a similar problem I had in Phoenix when I tried it, I needed oauth login but not a slightest clue how to implement it myself in Ruby, let alone a new language to me.

So I have always been hesitant to try Hanami and use it, from the outset it looked focused on TDD, a methodology that I find incompatible with my development style and preferences, and there doesn’t seem to be the same batteries included to make me productive as fast as Rails. Well, that’s largely true in how it’s presented today but not entirely accurate not that I’ve looked into it and started using it seriously.

The Tipping Point

Recently with the latest blog posts and tweets from the creator of Rails, it’s been made even clearer that Rails ecosystem is unfortunately shifting towards an unstable and unsafe place for my voice to feel equal, value and welcomed.  I know this statement is not the values that some who work at 37signals, Shopify and other companies hold, but the creator of Rails himself. I’ve long held the assumption that I would never contribute directly to Ruby on Rails gems or codebases directly due to these beliefs of the creator and know I’m not alone in those feelings. The one time I did try to open an issue on a Rails sponsored repo it was basically shot down with “Yeah, I'd like to use esbuild out of the box.”, in regards to me suggesting an ESbuild config for a jsbundler gem. Fair enough, but it did turn off me from the idea that I would be welcome for further ideas and contributions.

I get it, that’s how it goes when you run Open Source Software. I certainly read it very harshly, but it deflated any excitement for my contributions to feel welcomed or valued. I still stand by my initial recommendation that ESbuild needed a config file like every other bundler in that gem seemed to have, and every app I've used Esbuild with has had a configuration file too. Anyway, still salty 4+ years later, my bad.

So, paired with those feelings plus the latest continued revelations of the creator’s personal beliefs and political stances, I can’t find as much joy writing Ruby on Rails apps as before.

I LOVE Ruby though, I don’t want to pick up a new language. And I sure as heck don’t think I have it in me to write my own Rails level framework. Not from zero at least, and other frameworks than Rails have an issue where there is virtually no ecosystem around it. That’s a serious problem in my eyes for adoption.

Enter Hanami

Waiting for me to look at it again has been Hanami, not without its own warts but certainly serious enough to be a real contender. It’s had a storied development cycle and persistence throughout the years that it was worthy of a serious try. Kudos to the team for putting in the work even there’s not a lot of attention.

Mostly as a little joke to myself (sorry Hanami team 😭), I was like “I’ll give Hanami a little try before I throw in the towel”. What I found surprised me in many ways. Hanami 2 has leveled up from the last time I looked at it and it almostprovides all the bones I need for the building web apps. That's not to say it’s been a wonderful and joyous experience out of the box, learning new things almost certainly never results in that. But what I’ve seen has been impressive and surprisingly in good ways.

Hanami cares, like really fucking cares about their values and community is a large part of that! They make it extremely clear that Bigots, Racists, Nazis and Transphobes will not be tolerated. It’s right on the hanamirb.org website! As a trans woman, this indicates they really care and would certainly try to help make it a welcoming and safe environment for me personally.  Especially in a time of the world where my rights are constantly at stake. Not to turn political for you, but my rights to existence is very much politics for many, for me it’s simply trying to live as any other person should and does, authentically me!

So, I gave Hanami a chance, it took a lot of persistence and not hitting the eject button and going back to Rails this past week when I hit friction. For example, file uploads were kinda busted if you don’t know to use this middleware Hanami provides. (That’s been filed as an improvement to fix!). Took a lot of source code diving, but each day I get more familiar with the internals of Hanami and the Hanami Way. Which by the way is that of radical modularity (in my eyes), and the ability to slot in your own solutions for things. They enforce in their own way good coding practices, sometimes to the detriment of itself, but the resulting code is everything has its own purpose.

It’s a different way to write Ruby Web Apps than how I’ve written Rails apps since 2013. This isn’t to say its a bad thing, just different and causing me to learn the basics again, and what Rails was handling for me behind the scenes. There is still the ecosystem issue, but that can be solved with more people coming and learning about Hanami and contributing great work.

Hanami Omakase

Within a few days of Hanami, I knew for me to stick around long term, I’d need a viable long term solution for a lot of the “batteries” that Rails handles for you as a Rails dev. File uploads? Rich Text? Background jobs? Authentication, Etc.

All of these are solvable today in Hanami and there are wonderful solutions for it, but none so far that have ‘sparked joy’ that the built in batteries Rails brings to my productivity in building more core products. So I started Hanami Omakase, which is a project not affiliated with Hanami’s team, where I’ll be curating default gems and solutions for the Hanami framework that sparks joy for me. It’s a curated journey in Ruby Web Development that aims to let people get productive quickly when off boarding from Rails apps, but still retain the ability to drop down into Hanami for all the advantages it brings.

This was my compromise to myself, I don’t need to build the whole framework, I can build the parts I need that Hanami doesn’t provide and get all the benefits of that work and give back to Hanami where it makes sense.

My Future

I still do Rails work for my day job, that likely won’t change for a long time. It’s a bit like breaking up with a partner (something that happened this week too 😢), I still care for Rails and it’s ecosystem, but it’s very painful to think about putting the same level of care into things knowing the issues I’ve mentioned will continue onwards. Some of you might be like “Who are you again? Why do I care about what you have to say?”, and to that I say, indeed. I’m merely a woman sharing her thoughts and opinions on the World Wide Web.

For now I’m focusing my efforts outside of work on Hanami related projects. I’ve managed to get a tiny contribution into the Hanami CLI, and have one for adding resources and resource DSL to the Hanami routes file in progress.

I can’t wait for my next adventure with Hanami, and I hope in the future you’ll check it out too.

Enjoyed this post?

Follow me on social media for more content about Ruby on Rails, web development, and technology.