Skip to content
About

Case study · Our app

Dose.

One standard for every shot.

An app for scoring espresso. A guided tasting resolves to one calibrated score on one shared standard, with a feed for purists and a map of where the great pulls are. Free on the App Store.

Role
Product, brand, design, engineering
Platform
iOS, web
Stack
Swift, SwiftUI, Supabase, Next.js
Status
Live on the App Store
Dose on five phones — the feed, discover, the app mark, a scored pull, and a profile

The problem

Coffee ratings online are vibes — stars, hearts, “it was good.” Nothing means the same thing twice. Espresso deserved a real standard: rigorous enough for a professional, learnable on a first pull.

The standard

Dose turns the way specialty cuppers evaluate a shot into a guided tasting. Six dimensions resolve into one calibrated score that reads the same everywhere — one shot, measured against one standard, not one person’s taste.

The system

Five parts. One product.

Inside Dose

  1. 01

    The instrument

    A guided tasting, not a form. Each dimension is checked the way a cupper checks it — aroma, acidity, sweetness, body, balance, finish — then weighed into one honest read of what’s in the glass.

  2. 02

    The standard

    Calibration is shared. A score in one city means what it means in another, so the number can be trusted, compared, and argued over.

  3. 03

    The community

    A feed for purists. Profiles, stories, and shareable score cards. Score together at the same café — one post, one common score.

  4. 04

    The map

    Every score feeds an open directory: cafés, the roasters behind them, and the beans in the hopper. Local first, nationwide, kept current.

  5. 05

    The infrastructure

    Native Swift on iOS. A web app at dose.city on Next.js. One Supabase backend — Postgres, auth, row-level security — shared by both.

One

Calibrated score per shot

6

Dimensions cuppers use

iOS

Free on the App Store

Get Dose.

Free on the App Store. The standard, in your pocket.