Coffee technology at Geckoboard

While there are a number of tea drinkers at Geckoboard — on Team Coffee we take the whole thing really quite seriously.

In the following I will:

  • Describe our setup (equipment and consumables)
  • Show you how we integrated it with Slack
  • Share some ideas for future optimisations
  • Peek into the future

Equipment

Lets start with the real workhorses of our setup. The brewer and grinder.

We spent quite a while deliberating over our brewer and grinder. In the end, we went for the Technivorm Moccamaster KBT741 and the Wilfa WSCG-2.

The Vorm and Wilfa side by side. BFFs

The Moccamaster is advertised as making 10 cups in 6 minutes (1.25L). We’ve found this is usually enough for an office our size (there are usually around 6 members of Team Coffee in the office at a time). The Moccamaster has been used once or twice per weekday since July 2015 and shows no signs of packing up. The hopper on the Wilfa can be turned to adjust the grind size. It has handy indicators for popular brewing methods—from French press through Aeropress all the way to Espresso. It’s relatively quiet and is quite easy to clean.

We have the Vorm and Wilfa sitting side by side on the office kitchen counter top where they take up relatively little space compared to a lot of other options. They make quite the couple in their brushed steel.

In addition to the Moccamaster, we’re equipped with two single cup V60 drippers. These see use when a team member’s coffee needs fall out of sync with the rest of the team — or a slower more methodical method is desired.

There is also a pod machine.

Consumables

  • The Moccamaster uses No. 4 filter papers (We use Filtropa papers)
  • We get our beans from Origin Coffee. They have a shop a very short walk away from the Geckoboard office and graciously serve us 1Kg bags by special arrangement.
The route
  • We order bottles of filtered water from Ocado. The Waitrose own brand water in 2L bottles has a dry residue content of 110 mg/L at 180°C. We’ve found this produces good results with our setup. Always read the label as the dry residue content can change from bottle to bottle!

IoT and the requisite Slack integration

We thought it would be handy to let people know when the coffee machine was done. The obvious solution was to hook it up to Slack.

Caffeinator

We used a Particle Photon and a Split core current transformer to put our coffee machine on the internet.

The hardware detects the current draw of the coffee machine. When the machine goes from low current to high we get a notification in Slack that the machine is brewing. Then when it goes from high to low we get one telling us that it’s done.

The gubbins

You can find vague instructions and code to help you do this too over on The GitHub https://github.com/geckoboard/caffeinator

Messages as they appear in Slack

Metrics

One of the benefits of using the Photon is that there is a Particle channel on IFTTT. IFTTT is a service that lets you plug disparate services into one another for occasionally useful purposes.

We have an IFTTT recipe which logs whenever the coffee machine has finished brewing to a Google Sheet. This gives us the date of the brew and its duration. Using the duration and some hideous spreadsheet-fu we can fairly accurately determine how much coffee was brewed.

Column F being the duration of the brew in seconds

With our Google Sheet, we can sample the Geckoboard dog food and create a widget using the Spreadsheets integration.

Configuring the widget

With this new widget on our dashboard we can monitor the team’s coffee consumption closely.

Coffee consumed with the goal of filling a paddling pool

What’s next?

It’s environmentally awful to be relying on bottled water. So we’re investigating having a Reverse osmosis system attached to the kitchen sink. Here is a good write up from Square Mile on why water quality (in London in particular) is a problem.

Post-Unicorn

Ensuring that our bean supplies do not run critically low is a real pain. Too often a team member must raid the office’s petty cash first thing in the morning, then make a desperate dash to Origin for a bag of beans. Unacceptable.

Perhaps the procurement of beans could be a simplified.

CaffeinateAir

Drones are nothing new.

Equipped with a drone capable of carrying a payload of around 1–2Kg and after negotiating an agreement with Origin to serve customers by aerial surrogate we could conceive of a more efficient setup.

The proposed process

  1. Upon discovering that bean supply is running low (and following the initial panic 😱) — team member dispatches CaffeinateAir from its charging station within the Geckoboard office (Perhaps using a specially commissioned React Native mobile app).
  2. CaffeinateAir leaves the office through a purpose built launch hatch facing onto Curtain Road.
  3. CaffeinateAir flies over the adjacent roof tops directly to Origin — landing just outside. CaffeinateAir emits a shrill call for attention to the coffee shop staff.

4. Barista begrudgingly loads a 1Kg bag of beans onto CaffeinateAir’s specially configured cargo platform.

5. Barista takes contactless payment from the Apple Watch attached to CaffeinateAir’s chassis.

6. Payment causes a notification to be sent through Mondo. This is used to trigger CaffeinateAir’s return call.

7. CaffeinateAir returns to Geckoboard — landing at its charging platform to prepare for its next mission.

8. A notification of CaffeinateAir’s return is sent to the team member who initiated its most recent mission.

9. Team member removes beans from CaffeinateAir’s cargo platform while patronisingly patting CaffeinateAir’s outer casing. CaffeinateAir remembers this.

Artistic rendering of CaffeinateAir’s triumphant return

Hopefully you will have found this look at Geckoboard’s coffee culture enlightening. Thanks for reading.