Pucclab
A physical lab for the next espresso
How can an object help you learn from the taste of the last shot?
- MY ROLE
- Concept, interaction, ESP32 firmware, backend, notebook interface and AI recommendation loop
- CONTEXT
- Independent exploration of connected objects and sensory feedback
- STATUS
- Working prototype

Begin with a small decision.
A physical dial and display put the next coffee experiment within reach, right beside the machine.
From input to experience.
THE INTERACTION LOOP- 01
Prepare
Choose a coffee and set the recipe on the controller.
- 02
Brew
Use the physical paddle and follow the live extraction.
- 03
Taste
Record the sensory result alongside the measured shot.
- 04
Explore
Repeat a good result or try an informed adjustment.
Stay with the coffee
Dialing in espresso means repeating small adjustments to dose, grind, temperature and brew ratio. Pucclab brings the recipe, measured extraction and tasting result into a single physical workflow.
Select or scan a coffee, adjust the recipe and brew with the machine's paddle. During extraction, the handheld display becomes a live gauge for flow, time and weight. The result then leads directly into a seven-axis tasting.

Advice grounded in the shot
The recommendation loop considers the recipe, extraction, tasting scores, coffee details, roast age, equipment and recent shots for the same coffee. It first decides whether the next step should correct a problem or explore a different sensory direction.
A good result can be repeated unchanged. When exploration makes sense, Pucclab can suggest more body or more clarity and explain what to look for. Grind changes stay on the grinder's real integer steps.

Connected, with local control
I built the interaction, ESP32 firmware, backend, notebook and recommendation loop. The handheld combines a monochrome memory display, rotary encoder, scanner, battery and progress lights; ShotStopper inside the machine handles brew-by-weight control and telemetry.
Timing-critical control stays local to ShotStopper. The physical paddle and manual bypass remain available if the backend is offline, while the handheld caches its coffee catalog for browsing during reconnection.

Taste closes the loop between a connected object, measured data and the next physical action.