Typica — A Data System for Coffee Roasters

Typica is a free, highly customizable program for working with the records commonly generated by coffee roasting firms including roasting data, cupping forms, and inventory records written by a roastmaster for himself and other coffee professionals.

Typica screenshot

I started work on Typica at Wilson's Coffee & Tea as an internal project. Paper records had become unmanageable and spreadsheets took too much time to keep current. I realized early on that simply storing the records digitally is not enough. The data needed to be in a form that could be used. By storing this information in a relational database and providing convenient interfaces that could be integrated into existing workflows, the tedium of data entry could be reduced, more data could be collected, and these records could be used more easily.

In 2008, Typica version 1.0 was released outside of Wilson's Coffee & Tea under the MIT license which allowed anybody to freely use, copy, modify, sell, and distribute the software. Typica continues to be developed under the long term technology plan at Wilson's Coffee & Tea, but the design has also proven flexible enough to enable quick modifications to support the unique needs of other firms as well.

Typica was developed from the start as a cross platform application and has been used on computers running Mac, Windows, and Linux operating systems.

Data is stored in a PostgreSQL database. This relational database management system is also free. Most Typica installations run the database on the same computer Typica runs on, however the database can also run on another computer in your network. This means that one person could be using Typica at a production roaster, another could be using it at a sample roaster, a few more could use it at the cupping table, and all of them could be using the same database at the same time. Keeping the data locally means that the software does not require Internet access and does not rely on the continued operation of some other company. Using a database to store the information means that those who need analysis not yet provided by Typica can query the database directly or import data into spreadsheet applications or statistical packages.

While Typica is free, some hardware is required to acquire temperature measurements from the roaster. There are currently two release versions of Typica supporting different hardware. Using the National Instruments USB-9211 and the USB-9211A, Typica version 1.3.8 for Mac, Windows, or Linux can be used. The less expensive National Instruments USB-TC01 can be used with Typica version 1.3.3 patch TC01 for Windows. The USB-TC01 is not supported on platforms other than Microsoft Windows. Either of these devices can be purchased from National Instruments directly. Some thermocouple extension wire is usually needed to connect either of these devices to a roaster's existing thermocouples.

Connecting this hardware to a commercial coffee roaster is easy. Here is a video showing how to hook a Diedrich SR-1 electric sample roaster for use with Typica. The process is similar for larger roasters that already have a thermocouple.

Typica 1.3.11 is now available.

Typica 1.3.11 for Windows with the NI USB-9211 or 9211A

Typica 1.3.11 for Windows with the NI USB-TC01

Typica 1.3.11 for Mac

Typica 1.3.11 (source code only)

Read the Windows installation instructions.

Read the brief user guide.

Features

Record roasting data from multiple thermocouples. Measurements are shown in three views. One shows the most recent measurement, another shows a table with one measurement every 1, 5, 10, 15, 30, or 60 seconds or all collected measurements alongside a previously recorded target roast profile. The third view shows all of that information graphically, updated continuously as you roast the coffee. Example configurations are provided with Typica 1.3.8 which collect measurements from 1, 2, or 3 thermocouples.

Examine previously recorded roasting data. This data can be used as a target profile for future batches or saved to a file that can be shared with other Typica users. It is also possible to export roasting data in a form that can be read by spreadsheet applications.

Define cupping sessions that any number of people can join. The cupping data for a sample can be associated with any annotated point of a roast. This means that those who pull multiple samples from a batch when deciding how to roast a coffee can conveniently set up a cupping session of all pulled samples.

Track coffee inventory. Coffee purchase information can be entered in Typica. When roasting coffee, the amount of coffee used is subtracted from the current inventory. Those who blend before roasting can specify the weights of multiple coffees used for a given batch.

View reports of stored records. The example configurations provide reports showing the recent average weekly production of roasted coffee and the stock, rate of use, and projected availability of unroasted coffees.

Modify Typica to meet your specific needs. Typica is written in literate C++ in a clear style that enables an experienced programmer to quickly become familiar with how the application works if changes to the program are required. The user interface and data flow within the application is defined in a configuration document. This is a combination of XML and Javascript which makes it easy for people with web development experience to create and modify configurations. This makes it easy to define new reports, extend Typica to new workflows, add support for different cupping forms, or customize the application for use with new equipment. Modifications to Typica can be shared or not at your discretion.

The development of Typica is guided by the needs of a company that has been in the coffee industry since 1991. The primary developer has ten years of commercial roasting experience and understands the needs of coffee professionals. Please direct questions regarding Typica to Neal Wilson, roaster@wilsonscoffee.com.

Follow the latest developments in Typica's ongoing development.