Date Search and Infrastructure Improvements

Almost two years ago, Chris opened an issue to add the ability to search by date, and it took me until last week to finally implement it. šŸ™ˆ

Not because it was particularly hard, but because I couldn’t find a nice way to present the UI, so I kept postponing it. Eventually, I came up with a compromise that’s also an improvement over the existing shots search. I unified Notes and Bean notes search into a single field. And if you’re a Premium user, it also searches your Private notes. Maybe it’s just me, but I really like this. I often can’t remember which note field I put something in. šŸ˜…

Besides this, there were several small code changes and bug fixes since the previous update. There was, however, a big infrastructure change. Visualizer now runs on two web servers behind a load balancer. I’m happy to say the migration was super smooth and completely zero-downtime.

You shouldn’t notice any difference day to day, as the main server was rarely resource constrained. Occasionally there could be queue build-ups if someone went a bit crazy with API requests, but that shouldn’t happen anymore. šŸ¤ž

This is very likely my last update of the year, so I again wish you all the best for the holiday season and the new year! šŸŽ†

P.S. In case you missed it, I built a nice Year in Review, so be sure to check it out!


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! ā˜•