Thank you for the first 5 years! šŸ™

It’s hard to believe, but Visualizer has been around for over 5 years now. November 2020 feels like yesterday, when I wrote the first few lines of code and that introductory post about my explorations in parsing and displaying Decent shot data in a browser.

I rarely look back, but at this year’s Rails World in Amsterdam I was selected to give a lightning talk about Visualizer, more specifically: how Rails made my hobby profitable. Unfortunately, the lightning talks weren’t recorded, so you can only see the slides. For me, this was a great reason to dig back through the history of Visualizer and remember / relive all the transformations it went through. And how many things I was forced to learn because of it. Which made me grow a lot as a software developer, but also as a person. I can say without a doubt that I wouldn’t be working where I am today were it not for this little thingy. And as an absolute cherry on top, I also got this response from Joe Masilotti:

This was my favorite lightning talk from the conference. Great job on it, Miha!

2025 has been an absolutely incredible year for Visualizer. There were so many changes and improvements that even I can barely keep track: Push notifications, migration to Lemon Squeezy, quick shot compare, support for Gaggiuino and GagiMate, tagging improvements, integration with Loffee Labs, including on Coffee Management which also got bag archiving and a complete redesign, Passkeys, managing dropdown values, and so many more improvements and bug fixes.

None of this would have been possible without you. Without users, especially without premium users, this project would have been long dead. But because of you, it’s been alive and kicking for over 5 years! I know it sounds cheesy at this point, but I honestly can’t thank you enough. Even in my wildest dreams, I never expected this fun little side project to have almost 7,000 users and over 3.6 million uploaded shots. Absolute insanity. 🤯

I don’t want to be the only one looking back, so as in previous years, I built a Year in Review for you all. As all Visualizer users can see, I’m not the best designer — I am a backend developer after all. But I’m quite proud at what I was able to create this year together with my new friend Jipiti. While I don’t think these tools will replace me anytime soon, I firmly believe they can be an incredible accelerator and the best transformer of my words into Tailwind classes.

There were plenty of other changes since the last update too. Most notably, I fixed a bug where shot times were displayed on the Community feed, even if you had them set to be hidden. Looking through the change log, I found that the bug got introduced way back in March (specifically here: bd4e4aa) when I unified the look and feel between the user view and the community view. I somehow overlooked this setting, and I’m extremely sorry to everyone affected! I take a lot of pride in how privacy-focused I am and on how many places I handle this, and I failed big time here. šŸ˜ž

Now, back to positive news: as in previous years, my friend Luka (Banibeans) has a special offer for Visualizer users. This year, when you use VISUALIZER10 at checkout, you not only get a 10% discount, but he also promised he’ll throw in an extra 100g of something very tasty.

Whether you’re decorating a tree, lighting candles, raising an aluminum pole, or just catching your breath, I wish you wonderful holidays filled with great coffee and even better company. šŸ„‚

Miha


New and Improved Coffee Bags Management

It’s been almost a month since the last update. I was away in Australia for two weeks and I’m also still dealing with jet lag, but there have been a lot of changes regardless. The most important one being a full rework of how coffee bags are presented.

Ever since Coffee Management was introduced, I’ve been unhappy with how roasters and coffee bags were presented. The two-level structure (bags nested under roasters) made sense from a technical and data standpoint, but not really from the user’s perspective.

I had several ideas over time, but nothing worth shipping. Then I added coffee bag archiving, and that finally clarified how the interface should work.

There’s now a brand new Coffee Bags page that lists all coffee bags in one place. Bags are sorted by roast date, with archived bags always shown after active ones. The roaster list is gone since it no longer adds anything.

Personally I find this a much nicer way to work with all the coffee bags I have open. It gives me a super quick way to go from the list of coffee bags, tap the one I want, and immediately see all the shots for that bag so I can instantly get insights for grinder settings.

And finally, as many of you noticed, the Cloudflare issue earlier this month caused a Visualizer outage too. Cloudflare published a detailed post-mortem that’s well worth reading if you’re even a little curious about what happened.

Let me know how you like the new Coffee Bags page and if you have any feedback or suggestions for improvement.

Thank you and have a great remainder of the weekend! ā˜•


Manage Dropdown Values

Today is one of those FINALLY!!!11 posts. You can now properly manage your dropdown values that show up when editing a shot. 🧹

Manage Dropdown Values

If you have Coffee Management enabled then this will only allow you to manage grinder values. But if not, you can also hide or revive those old roasters and coffees you’ve had once in the past. No more scrolling through half-dead beans from 2021.

Alongside that, a bunch of small improvements and fixes landed — especially around the recently announced passkey support. Oh, and Visualizer is now running on Rails 8.1. šŸš‚āœØ

Enjoy your weekend! ā˜•ļø