Typica: Software for Coffee Roasting Operations

The Plan for Typica 1.10

One of the challenges with a project like Typica is deciding when to release the next version. Sometimes this is made easier because a bug is discovered that must be fixed immediately. Other times someone sponsors a new feature and a release is triggered by finishing the work on that. But then there are times when there aren't any major bug fixes, just a lot of small improvements in various parts of the program. New releases take a lot of time to put together and test so I don't want to do that very often. It's easier to make the decision to release a new version if there's a compelling upgrade story, so I've set a plan for the Typica 1.10 release.

While there will be improvements elsewhere and some of the improvements have spill over effects in later workflows, the focus for Typica 1.10 is on improving the workflows from receiving green coffee samples through receiving coffees on contract.

One of the major features involved here is the ability to split tracked inventory up into multiple departments. This was a feature originally planned for 2.0 because of how many parts of Typica need to be changed to make this work well, and while I'm not going to bring in the full inventory redesign planned for Typica 2.0, I think I've figured out how to bring in enough of the features for this to be very useful.

This is the sort of feature where it's very easy to go overboard. My recommendation is that if you're fine with keeping everything in a single department, that's the default and you should stick with that, adding additional departments one at a time as needed.

The earliest place where you might find use for an additional department is using that to enter data on green coffee samples. Right now sample data is entered as part of the sample roasting workflow and each sample roast creates a new item with 0 inventory. That's fine if you don't do a ton of sample roasting and if one person is responsible for the whole set of tasks between getting a sample and making a purchase decision, but if those job responsibilities are spread out across multiple people or if there's a lot of sample roasting to do, that approach gets to be somewhat limiting. The lack of inventory can also be problematic if you have a third party certification auditor who insists that every last gram of coffee in a facility must be accounted for. By allowing the creation of a separate samples department, you can keep data on those green coffee samples, do multiple roasts against the same logical item, and there are some other changes that I'll be bringing in that should allow sample roasting to happen more efficiently.

Inside the IKAWA sample roaster

Sample roasting itself is getting a review. Right now it's possible to think about three different kinds of sample roaster in terms of how the designs impact how you might use these with Typica. There are the traditional sample roasters where you might want to do some basic manual record keeping, but it doesn't make a lot of sense to try to get instrumentation on those machines and record highly detailed measurement data. Then there are machines like what I currently have where it might not strictly be a sample roaster but can be abused as such and it's well enough instrumented that you can effectively do profile roasting with your samples. Finally, there's a relatively new class of machines that have instrumentation, but that you might not be able to connect directly to Typica. I am currently trying to obtain an IKAWA sample roaster so I can gain a little more practical experience using a machine in that last category and seeing what kinds of features make the most sense for that.

The cupping table is, of course, where you're going to get the sensory data used for purchase decisions, and this has been a weak spot in Typica's feature set for too long. I'm hoping that I'll be able to make substantial improvements here, but right now this is just aspirational. If anything in this article is going to get cut for 1.10, it's this, but for now I'm still hoping that I can put in something worth using.

Forward contracts are a current pain point for me and something that's nicely solved with creating a contracts department, putting the purchases there, and then as I bring the coffee in, I can transfer coffee from the contract department into current inventory. Right now I keep track of my contracts external to Typica and multiple shipments end up as separate items as far as Typica is concerned. I know that other companies have some crazy workarounds that they employ, and that's the sort of thing that gets people in trouble so providing a sane way to deal with this is a high priority for me.

There's still a lot of work to do to deliver on this, but that's the plan.