Tagging UX Gets an Upgrade

After another great GitHub suggestion I took a deep dive into improving the tagging UX and I’m proud to say it has shipped now:

Tag Selector

Under the hood I’m using Tagify, because unlike combobox it’s too complicated for me to make my own from scratch. Also, I quite like Tagify’s code so adding this dependency should be fine. Hopefully not famous last words. 😅

Like seemingly every time, we found more rough edges in my Airtable sync engine, so there were (hopefully) some improvements there too. As always, feel free to check the full changelog if you’re interested.

Oh, and yesterday I noticed something wild: Visualizer’s database just hit over 3 million shots (3,094,972 as I’m writing this)! 🤯 It feels like we just celebrated 1M. Thank you all for your continued trust in the platform! I honestly never thought anything like this could even happen. 🥰

Until next time! ☕


Enhanced Copy Features and Other Updates

Another month, another small batch of updates. Like last month, there were several dependency updates, along with some UI and UX improvements.

Notably, the shot view page now displays how old the beans were when the shot was made. This idea came from a GitHub issue, and if you have great ideas, my inbox is always open.

Speaking of GitHub issues, one reported that tags weren’t copied when duplicating shot details. That’s now fixed, and in addition to tags, I’ve added Roaster and Coffee Bag to the copied fields when using Coffee Management. I also ported a feature from ECT Business to Visualizer: when a field is copied and its value changes, it’s highlighted with a different background color to clearly show the change, and a Revert link appears to roll back individual fields if you didn’t mean to overwrite the original value.

Today, I extended that feature to the AI coffee bag import. This is handy when you want to avoid overwriting the coffee bag name while syncing with DYE, for example.

I also resolved an annoying Airtable syncing bug where a newly uploaded shot with a new coffee bag wouldn’t link to the bag on Airtable. As always, you can check the full diff on GitHub.

Enjoy your weekend! ☕


All the Small Things

Nothing too exciting lately, I’ve been busy with adding exciting functionality to European Coffee Trip Business project. But still, looking at the changelog there’s quite a bit of code.

Bumped Ruby to 3.4.3, Postgres to 17.4, Highcharts to 12.2, and a bunch of other dependencies got refreshed.

There’s been a slight tweak to coffee management section of shot edit page. Before, when you had no coffee bags on a roaster, the roaster would not be shown in the list. Since the shot is linked to a coffee bag, there’s no point in showing the roaster that can not be linked to a shot. However that confused at least two users so now I will always list all roasters. And when you select a roaster without a coffee bag, you’ll get a short explanation with a link to create a new coffee bag. Hopefully this will make things clearer. 🤞

Many other UI polishes were released over the past month: shot comparison should be more readable with dotted lines instead of opacity change, shot list should not overflow anymore, the checkbox should no longer hide the text below, overly precise floats should be nicely rounded,… 💅

After the Sunday morning attacks I was also forced to add some more bot/script kiddie preventions in place. I didn’t want to add Home Barista like infuriating delays, but something had to be done. So the user sign up page now relies on Turnstile to do the checking. With this change existing users are not impacted, and new ones should be minimally. Unfortunately internet is a hostile place nowadays. 😔

If you celebrate Easter, enjoy the holiday! 🐣

In any case: I hope you pull some great shots this weekend! ☕