whatisgithub

What is crema?

waevans10/crema — explained in plain English

Analysis updated 2026-05-18

1PythonAudience · generalComplexity · 3/5Setup · moderate

In one sentence

A self-hosted tool that reviews your espresso shots using Claude, suggesting grind, dose, and profile changes you approve before they reach your machine.

Mindmap

mindmap
  root((crema))
    What it does
      Reviews espresso shots
      Suggests grind and dose
      Drafts machine profiles
    Tech stack
      Python
      Claude API
      SQLite
    Use cases
      Shot quality scoring
      New bean dial-in
      Trend tracking
    Audience
      Home espresso enthusiasts
      GaggiMate owners

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Get AI generated grind and dose suggestions after each espresso shot on a GaggiMate machine.

USE CASE 2

Draft and approve a starting profile for a new bag of coffee beans.

USE CASE 3

Track shot quality scores over time to see if dial-in changes are working.

USE CASE 4

Share anonymized shot data to help build a community espresso dataset.

What is it built with?

PythonClaudeSQLiteWebSocket

How does it compare?

waevans10/crema0xustaz/streamgatea-bissell/unleash-lite
Stars111
LanguagePythonPythonPython
Setup difficultymoderatehardhard
Complexity3/54/54/5
Audiencegeneraldeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires an always-on Linux or Mac computer on the same network as the machine, Python 3.13+, and a paid Anthropic API account.

So what is it?

Crema is a tool for home espresso enthusiasts who own a smart machine controlled by a project called GaggiMate, with early support for another one called Gaggiuino. It automatically pulls data from your recent espresso shots, sends that data to Claude, and gets back suggestions for adjusting your grind, dose, and brewing profile, based on your specific grinder and beans rather than generic advice. The tool needs to run on a separate always-on computer on the same home network as the coffee machine, since the machine only exposes its data over the local network and not over the internet. A Raspberry Pi is the recommended device, but any small always-on Linux or Mac computer works, and it needs Python 3.13 or newer. It also requires a paid Anthropic API account, since Claude is what performs the actual review, and this costs a small amount of money per shot reviewed, roughly a dollar or two a month for typical home use. Once set up, crema downloads new shot data and turns it into diagnostic information such as channeling risk and pressure stability, then has Claude review it and give the shot a quality score along with suggestions. If you want to try an unfamiliar bag of coffee beans, it can suggest a starting grind, dose, and complete profile based on your most similar past shots. Any suggested change to your machine's profile is shown to you first as a draft, and you must explicitly approve it before it is written back to the machine, especially if it changes settings that determine when a shot stops. A built in trends page charts your shot scores over time so you can see whether your adjustments are working, and you can log how each shot tasted so future reviews take your preferences into account. There is also an optional community feature where users can share anonymized shot data to help build a shared dataset linking brewing advice to outcomes, and an optional integration that displays your latest shot's score on a small pixel display called a Tidbyt. Crema is meant to work alongside GaggiMate's own app, not replace it, adding an AI review layer on top of the machine's existing controls.

Copy-paste prompts

Prompt 1
Help me set up crema on a Raspberry Pi connected to my GaggiMate machine.
Prompt 2
Explain how crema decides on grind and dose suggestions for a new bag of beans.
Prompt 3
Walk me through approving a profile draft and understanding what it changes.
Prompt 4
Show me how to enable the community shot sharing feature in crema.

Frequently asked questions

What is crema?

A self-hosted tool that reviews your espresso shots using Claude, suggesting grind, dose, and profile changes you approve before they reach your machine.

What language is crema written in?

Mainly Python. The stack also includes Python, Claude, SQLite.

How hard is crema to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is crema for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.