VOLT A caffeine tracker that worked on me

Designed an iPhone caffeine tracker that took me from 2–3 energy drinks a day to a few a month.

3 min read

VOLT’s Home on an iPhone showing 93 mg active and the day’s decay curve running to bedtime

VOLT is an iPhone app for tracking caffeine. I don’t drink coffee, so for me caffeine meant energy drinks: two or three a day when I was younger or under stress. I felt addicted and wanted to see what that actually does, so I designed an app that shows how much caffeine is in your body right now and how much will still be there at bedtime. It’s private for now. I use it on my phone, and about five friends have a build.

Client
VOLT
Role
Designer
Team
Solo, ~5 Testers
Timeline
2026 – Current

01

From cans to numbers

When I saw the real numbers, I got a bit worried about my health in the future, and I basically stopped drinking them that much. It went in steps:

  1. Before

    2–3 a day

    When I was younger or stressed.

  2. First cap

    1 a day

    I capped it at one.

  3. Then

    Weekends only

    About one a week.

  4. Now

    1–4 a month

    Way more under control.

Tracking alone doesn’t do it. It’s also about discipline, and it’s not for everyone.

02

In your body now

Most trackers count cups. VOLT counts what’s still working. Every drink decays on a half-life, and Home adds them all up into one number that ticks down in real time and rolls like an odometer. Under it, the day’s curve runs to your bedtime, and you can scrub it with a finger to read any hour, with soft haptic ticks. If 50 mg or more will still be active when you go to bed, the app warns you.

There are studies behind the numbers: the 5-hour average half-life (people range from about 1.5 to 9.5 hours), the 400 mg a day that the FDA and EFSA give as guidance for healthy adults, and the 50 mg bedtime warning, set cautiously after Drake et al. (2013) found that even moderate caffeine hours before bed disrupts sleep. The fifteen starter drinks use EU caffeine values and serving sizes. It’s an estimate, not medical advice.

The decay chart mid-scrub, its readout showing 111 mg at 18:40
Home on two days: about 13 mg left at bedtime with a quiet check, and about 70 mg left with the green warning

03

One tap

Tracking had to be smooth, or I’d stop doing it. Quick Log on Home keeps the three drinks I use most, ranked by use. One tap logs it, a toast confirms it, and fast taps stack up to three toasts. A wrong log is a swipe away, with Undo.

Quick Log with stacked toasts confirming “Logged Red Bull, 80 mg”
Today’s drinks after a swipe, with the toast “Red Bull removed” and its Undo

The Drinks tab is the catalog: add your own drinks, edit them, and every row shows its size, so a 250 ml Red Bull and a 473 ml one read apart.

The Drinks catalog with Red Bull at 250, 355 and 473 ml, each with its size and caffeine
The Edit drink form for a 500 ml Monster with 160 mg of caffeine

Onboarding takes four short steps, each a question: “When do you power down?” for bedtime, “How hard does it hit?” for sensitivity, “Your body, your curve” for sex, weight and age, which tune the half-life estimate, and “Draw the line” for the daily limit.

The onboarding steps side by side: bedtime, sensitivity, body profile and daily limit

04

Away from the draft

I started when Claude Design came out and tried it in my flow. It gave me three directions for Home:

VOLT
An acid green HUD with hard edges and mono data.
REDLINE
Gauges first, with red, amber and hazard stripes.
SURGE
Neon cyan and magenta, glassy and rounded.

I took VOLT, but the app looks different from that draft now. It looked generic and AI-sloppy to me.

I polished it with agent skills (frontend design, Apple design, Emil Kowalski’s animation skill) and by prompting at whatever felt off, until the classic AI-generated details were gone: the weird color lines, the pills. The motion follows Emil’s principles: ease-out for things that enter and leave, a spring for things that move on screen, and under about 0.3 s for anything you touch. Reduce Motion is respected everywhere.

A tilted wall of VOLT’s screens running off the image: Home at 93, 92 and 18 mg, onboarding, settings and the drink form

05

Me and the agents

I didn’t write any of the code. Claude Code built it, Codex reviewed it, and I stayed on the visuals and the UX, as usual. It’s my first iOS app, in SwiftUI.

Two bugs taught me the most. I wanted a colorless blur under the status bar. SwiftUI’s material added a grey tint, and the next try, a Metal shader over the whole app, turned every screen black. We rolled it back, and there’s no top effect now. The other came and went: after a few quick logs, the list stopped scrolling. It wasn’t our code but a known bug in Apple’s iOS 18 and 26 SDKs, with swipe gestures inside scroll views, so the swipe to remove now runs on UIKit underneath. Every failure like that goes into a lessons log in the repo, so the agents don’t try the same thing twice.

More case studies

Interested in working together? I’d love to hear about your project or team.