September? When did that happen?

What was that sound? Oh, I think the summer just ended. What? How did that happen so fast? šŸ™ˆ

In the last update at the beginning of July, I mentioned that I was going to Indonesia for 3 weeks and that Iā€™d enable coffee management as soon as I got back. Well, life had other plans. šŸ˜‚

Itā€™s September now, and after some more polish, I finally feel ready to actually enable it. There still might be some bugs (especially when it comes to syncing with Airtable), so if you find any, please let me know.

The feature is now live for all Premium users! Head to your profile settings to turn it on. Once enabled, Visualizer will start processing your shots. For most, thisā€™ll happen faster than you can say ā€œcremaā€, but for our data-rich friends with tens of thousands of Airtable-synced shots, it might take a bit longer. You know who you are. šŸ‘€

Coffee Management

As per usual, there were many more changes since the last update. Most notably, you can now copy details from your recent shots to the shot youā€™re editing. While most people use DYE (Describe Your Espresso) extension on Decent, not everyone uses Decent.

Another tiny change is that if you have only 2 lines visible in a chart, you will now see a delta between the values. Both of these features came from GitHub issues, so if you have other ideas, feel free to open a new issue and describe what youā€™d like to see.

Iā€™ve also switched from SendGrid to Postmark after hearing several complaints over the past months about password reset emails not being delivered. Since the switch, I havenā€™t received any emails about this not working, so unless my email is broken, I think I finally fixed it. šŸ˜…

Thatā€™s it for now. Iā€™m looking forward to seeing how this goes. And again, if you find any bugs, please let me know.

Happy weekend! ā˜•


Coffee Management

Happy Friday! šŸ„³

Today I merged one of the biggest PRs Iā€™ve worked on for Visualizer. It fundamentally changes how Visualizer stores data about your coffee. Up until now, all data was stored directly on a shot. With this change, youā€™ll be able to optionally extract data into Roasters and Coffee Bags. This will allow you to change all the coffee data of all the shots by a single bag or roaster at once. šŸ¤©

Even though it might have seemed like not much was going on with Visualizer development lately, I can tell you that this work started way back in March. Iā€™ve been working on it most Fridays and many hours during the weekends. Iā€™m able to do that because Iā€™ve started working with Cliniko, and the 30-hour work week allows me to dedicate significant time to Visualizer, for which Iā€™m super grateful. šŸ™

This kind of feature has been requested pretty much since day one, and Iā€™ve tried to implement it in many different ways. Each time I eventually found a wall I couldnā€™t get past and then gave up. This time I believe I cracked it, and Iā€™m very happy with how it all turned out.

However, you cannot try this yet! šŸ˜¬

Like I said, itā€™s a big feature with lots of code changes. I changed many interfaces, introduced several new views, created a combo-box component from scratch, and spent a ton of time reworking Airtable integration to support 2 new tables, touching pretty much everything in the codebase. To be exact: 2,459 lines of code were added and 1,150 removed. šŸ™ˆ

Iā€™m quite confident in all the changes, and Iā€™ve tested them thoroughly. But in a couple of days, Iā€™ll be going to Indonesia for 3 weeks, and doing bug fixes and customer support is not on the list of things I want to be doing there. šŸ˜„

You can expect this to be available to Premium subscribers in the beginning of August.

The reason I merged it today and announced it here is simply that I didnā€™t want to hold it back any longer. Besides the big feature, this update brings a lot of UI/UX updates to all users, like:

  • Fixing zooming on iOS when tapping into a search field
  • More compact edit/delete buttons to have more row space
  • Not taking valuable row space if no shot has an image attached to it
  • The aforementioned combo box for selecting grinder, roaster, and bean type
  • Dark mode improvements
  • Standardizing how links look

And probably some more that Iā€™ve frankly forgotten about, given how long Iā€™ve been working on this. šŸ˜‚

Thanks for your time, thanks for using Visualizer, enjoy your summer, treat yourself to some amazing coffee, and expect another announcement in early August. šŸŒ“


Import to Pressensor

A couple of weeks ago, gillesbeesley opened an interesting issue on GitHub basically asking this:

As a Pressensor user with a Flair 58 and modified Breville dual boiler, Iā€™d like to download my shot data in CSV format and upload it to the Pressensor app for reference when pressure and flow profiling on my machines.

Since Iā€™ve never used Pressensor, it took some back and forth, to figure out the exact format. Eventually I found a way to add the export functionality, so now, you can easily export any shot as a CSV file by clicking the table-shaped button on any shot page.

Updates RSS

Since I support RSS on peopleā€™s pages, thereā€™s absolutely no reason there shouldnā€™t be a feed for Updates as well. So now there is: https://visualizer.coffee/updates/feed.

Misc

As usual, there were many other minor improvements, most notably switching the JavaScript CDN provider from Skypack to jsDelivr. I didnā€™t have any issues, but Skypack seems abandoned, and importmap-rails recenty switched logic to always download. I decided to use the new approach wherever possible, and, since I was already working with importmaps, I took the opportunity to switch to jsDelivr for packages that are not yet compatible with the new approach due to their complexity.

Enjoy the remainder of your Easter! šŸ£