Spring Smooth Sailing

After the migration adventures and follow-up fixes, I’m happy to report that everything with Lemon Squeezy is now running smoothly! 🍋 Thank you to everyone who stayed patient during those initial hiccups - your understanding means the world to me. 🥰

I don’t think I say this nearly enough: I want to thank every single Visualizer user — your shots, shared links across Discord and forums, and general enthusiasm make this whole project worthwhile! A special, extra-deep thank you goes to all Premium users, past, present, and future. Your support is what keeps Visualizer growing, improving, and honestly, existing at all. You’re the reason I can dedicate so much of my free time to building this platform we all love. 💖

Welcome, Gaggiuino Users! 🎉

I’m thrilled to announce that Visualizer now has native support in Gaggiuino since v.6655d6d! A warm welcome to all new users coming from the Gaggiuino community.

There was a small hiccup with “Water Dispensed” being off by a factor of 10, which I’ve quickly fixed, including retroactively correcting existing shots. Since I don’t have a Gaggiuino myself, the initial parser was built based on sample files I found on GitHub. If you notice anything else that doesn’t look quite right, please don’t hesitate to let me know!

And to all Gaggiuino users: I’d love to hear your feedback and feature requests. What would make Visualizer even better for your workflow? And if you’re enjoying it, spread the word to your fellow enthusiasts! 🤝

Interface Improvements

I’ve unified the display of shots across all user and community pages, creating a more coherent and consistent experience throughout the site. This meant saying goodbye to the last of the .slim templates—a technical debt I’m thrilled to finally leave behind.

The recently introduced comparison selector has been improved too - now the page won’t jump around when you select a shot for comparison, keeping everything visually stable.

Behind the Scenes 🛠️

For the API users, I’ve added the updated_at field to both the index and shot show endpoints, which contains the timestamp (in seconds since Unix epoch) when a shot was last modified.

I’ve also fixed several Airtable syncing issues, making the entire process more stable - especially for roasters, coffee bags, and two-way syncing.

As always, there have been tons of tiny UI/UX improvements, performance enhancements, bugfixes, and dependency updates. For the technically curious, you can check out the full changelog since the last update.

Thanks again and enjoy the rest of the weekend! ☕