Skip to content

rotium/OverDose

Repository files navigation

OverDose

A community skin for Decent.app — the gateway that drives Decent Espresso machines. OverDose adds a recipe-driven brewing UI, designed for the tablet on your espresso bar.

The name is just my espresso intake, rounded down.

The reason it exists is simple: my own daily routine. I usually have three or four bags of beans open at once, each dialed in differently — plus the cappuccinos my family drinks, each with its own steam. Keeping all that in my head, or on scribbled notes, never held up. So I dial a new bag in with Explore, and once it tastes right I save it as a Recipe — then it's one tap to brew it the same way every time. Right now I keep three espresso recipes and two cappuccinos ready.

Core design decisions

  • Light and responsive
  • Smooth daily flow

Features

  • Recipes store shot setup for repeatable shots
  • Per-shot setting overrides
  • Auto-stop by weight (with a connected scale) or volume (estimated)
  • Auto-stop steam by time (configurable per pitcher)
  • Steam modes — Off / Auto / On, with an energy-saving Auto that warms steam on demand and lets it cool when idle
  • Two-level water warnings (soft warning + machine refill level)
  • Smooth live shot view
  • Searchable shot history — review past shots, edit their details, replay the curve
  • Guided cleaning routines with scheduled reminders
  • Optional audio cues (machine-ready, sleep/wake, water, cleaning-due)
  • Highly configurable

Recipes

OverDose is built around one idea: a great espresso is a recipe, not just a profile.

OverDose home screen

A profile tells the machine how to push water. A Recipe holds the whole drink — profile, dose, grind setting, steam, hot water, rinse — saved together and edited in one place.

Recipe editor

Pick a recipe and OverDose shows a prep view — dose target, grind reminder, the starting state of the machine — before you start.

Brew prep view after selecting a recipe

Then the shot itself — pressure, flow, and weight in real time.

Live brew

For drinks with milk or hot water, the shot is just the first step. Steam follows when you're ready — manual progression keeps you in control between phases rather than racing an auto-progressing timer.

For ad-hoc operations that don't deserve a saved recipe — warming a cup, a quick steam wand purge, hot water for tea — the Explore tray on the home screen runs the four machine operations directly.

Steam

Milk drinks need steam hot — but holding it at temperature all day wastes power on an always-on tablet. OverDose puts steam on a simple three-way control on the home screen: Off, Auto, or On.

Home steam control — Off / Auto / On

  • On — steam is held at your set temperature whenever the machine is awake, so it's instant.
  • Off — steam stays cold. Opening a steam recipe doesn't change that; the prep offers a one-tap Turn on steam instead of starting cold.
  • Auto — steam warms on demand and cools back down when idle, for the best of both. Two flavours, set in Settings:
    • Smart — heats steam only when you pick a steam recipe. It's ready exactly when you want milk, and stays cold the rest of the time, so it spends no energy heating steam you're not going to use. Still being fine-tuned, and set to become the default.
    • Eco — the looser option: keeps steam warm whenever you're using the machine at all (like the Decent app), spending more idle energy in exchange for steam that's always a moment away.

When you reach the steam step, OverDose shows the target temperature next to the live reading and holds Start until steam is up to temperature — so you never steam cold. In Off mode the same step offers the one-tap Turn on steam instead.

Steam prep — target temperature, live readout, and pitcher Steam step in Off mode — the one-tap Turn on steam

Shot history

Every shot is saved, so you can look back. The Shots screen lists them grouped by day, with a search box and bean/profile filters to find a particular one.

Shot history — shots grouped by day with search and filters

Open a shot to replay its curve — pressure, flow, temperature and weight, with the profile's target lines overlaid — next to the numbers (dose, yield, time, peak pressure and flow, in-cup volume). You can also fill in or fix what was logged after the fact: rating, tasting notes, the bean and grind, the actual dose and yield, and who the drink was for.

Shot history — single shot view with its curve and editable details

Tap the chart to open it full-screen and scrub it. Drag a crosshair across the shot and each trace reads out right where it sits — pressure, flow, temperature and weight ride their own curves as value flags, the time sits at the foot of the crosshair, and the step you're in lights up. Toggle individual traces from the legend. (Same enlarged view opens from the home screen's last shot.)

Full-screen shot chart with a scrubbable crosshair, per-trace value flags, and the active step highlighted

Cleaning & maintenance

Keeping the machine clean is part of the daily flow too, so OverDose treats a cleaning like a recipe — a routine you set up once, then run with step-by-step guidance. The Maintenance screen lists them and flags the ones that are due.

Maintenance — list of cleanings to run

A routine is a sequence of steps you arrange yourself: a group-head forward-flush (with or without detergent), a plain flush, steam-wand cleaning with Rinza, a quick steam purge, the steam-tip soak, the water tank, the uptake thimble. Sensible defaults ship ready to use.

Run one and OverDose walks each step — what chemical goes where (and what must never go in the tank), what to do, and a live countdown for each machine run. Long soaks start a background timer and chime when they're ready.

Cleaning wizard — group-head forward-flush step Cleaning wizard — flush step Cleaning wizard — steam-wand step

Give a routine a schedule — every Friday afternoon, daily, the first of the month — and OverDose reminds you when it's due: a pill in the header (with a chime) and a one-tap tile on the home screen.

Using OverDose

New to the skin? docs/usage-story.md walks through a day with OverDose in pictures — setting up beans and recipes, then the brew → steam → summary flow.

Installing OverDose

Note: OverDose is a skin for the new Decent.app gateway (tadelv/reaprime), not the original DE1 tablet app (de1app). It won't load on the old app.

From Decent.app version 0.7.5 onward, OverDose ships with the gateway — no install needed. Just open the Web Interface skin selection and pick OverDose. Upgrades arrive with gateway skins updates.

Accessing OverDose from another device

If you want to open the skin from a phone or laptop on the same network instead of the Decent.app tablet, ports 8080 (API) and 3000 (skin host) need to be reachable. Allow them in any firewall running on the gateway machine.

For contributors

OverDose is SolidJS + Vite + uPlot. The dev loop runs the Decent.app gateway in simulate mode alongside Vite's dev server.

# terminal 1 — the gateway, with a simulated machine and scale
cd ../reaprime
flutter run --dart-define=simulate=machine,scale

# terminal 2 — the skin
npm install
npm run dev    # http://localhost:5173

npm run dev proxies /api/* and /ws/* to localhost:8080. Point the dev server at a real gateway on your LAN with GATEWAY_HOST=192.168.1.42:8080 npm run dev.

Other commands:

  • npm run build — type-check + production bundle to dist/
  • npm test — vitest unit + component tests

License

GPL-3.0. See LICENSE.

Thanks

  • The Decent Espresso community for de1app, the original DE1 client.
  • reaprime — the gateway OverDose runs on.

About

Overdose your DE1. A fast recipe-driven UI for Decent espresso

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages