quit
AN HONEST LOG — NOT A STREAK

DitchCig

tap it. track it. ditch it.

The record only ever gets lighter. Tap when you smoke, watch the time since your last climb — calm, never punishing.

Login screen
13h 17m
since your last cigarette
no streak to break

You never break anything.

Tap when you smoke. The record just gets lighter.

THE RITUAL

Log it in one tap.

No forms, no judgement — the button breathes out before it commits.

One tap to log
No forms, no judgement.
A deliberate exhale
The button breathes out smoke and pauses ~½s before it commits.
Live time since your last
The number keeps moving while you watch.
20-second undo
Because slips aren't failures.
Now screen
Calendar screen
CALENDAR

See it get lighter.

Every clear day is a cool ring. Every cigarette, one honest dot. No streak to break.

smoked
clear
FRIENDS

Quit together.

Ranked by current clear stretch — a positive number, never who smoked most.

Support, not shame.

Friends screen
UNDER THE HOOD

Built for calm — and for bad signal.

COLOR TOKENS
base
#EAEEF5
ink
#191C22
ember
#FF6B45
clear
#8FA9CC
coral
#FFB59B
blue
#A9C6FF
lilac
#E0C8FF
TYPE
Space Grotesk
400500600700
tabular-nums 14h 22m for timers
GLASS
frosted panel
glassmorphism · backdrop-blur 22px · 1px top border
MOTION
exhale ritual · aurora drift
respects reduced-motion
PWA
Installable · offline-first
syncs on reconnect
STACK
React + Vite · PHP 8 + MySQL
same-origin · no Node on server

DitchCig

tap it, track it, ditch it.

an honest log for quitting smoking.

React Vite PWA PHP MySQL Space Grotesk
1 /