A motivational countdown timer · daily checklist matrix · compounding growth tracker
Days spent turn black. Days left stay white. Sand fills the box you're living in right now — and your progress follows you to every device, live.
| Platform | How |
|---|---|
| Web | compoundtracker.netlify.app — nothing to install |
| Windows | Download the installer (unsigned — SmartScreen will ask "More info → Run anyway") |
| macOS | Download the .dmg (Apple-silicon build; unsigned — right-click → Open the first time) |
| Android | Download the APK (Compound-android.apk; debug-signed — allow "Install unknown apps" when asked) |
| iOS | npx cap open ios on a Mac → Run ▶ in Xcode (project included) — or install the PWA below |
| PWA | Open the web app on your phone → Add to Home Screen (Android Chrome: ⋮ menu · iPhone/iPad Safari: Share → Add to Home Screen). Installs like a native app, has its own icon + splash screen, and works offline |
One account, every platform: log in anywhere and your streaks, checklists, deadlines and canvas follow you — live.
1% better every day for a year is ×37.8. 1% worse every day is ×0.03. Small things, done daily, are not small.
Compound makes time visible so you feel it passing, makes your routine measurable so you can watch it compound, and keeps the whole record safe in your account.
Add any number of goals, each with an editable title, an editable start date (set it in
the past — "how many days ago did I plan to start?") and a deadline; date fields open a
calendar on click. The countdown is live and smart — it shows the two units that matter
(8 days 5 hours → 23 hours 15 minutes → 58 minutes 12 seconds → 9 seconds) and ticks
every second. Drag the ⠿ handle to reorder deadlines (the order syncs to your account),
and star one as your Active Priority to pin it in its own section at the top.
You get a giant time-left number, a sand progress tube, and The Wall:
real calendar pages where every spent day is blacked out, every remaining day stays white,
today's box fills with sand as the day passes, and each month shows its own % spent.
A live clock with % of the day gone, a 24-box hour grid and a 96-box 15-minute grid. The box you're inside right now fills with sand in real time — hover any box and a tooltip tells you exactly how much of it is filled and how much remains.
Days 1–31 across the top, your daily tasks down the side — tap to tick, click a task name to rename it inline. Per-day score bars, a per-task month % pinned to the right edge (always visible while the sheet scrolls), and overall month productivity. Future days are locked so the record stays honest.
Today vs yesterday, this week vs last, this month vs last, this year vs last — each as "% better / worse". Every fully productive day multiplies your compound index by 1.01, charted over 90 days with a "×N in a year at this pace" projection. An All tab shows every calculation together on one page.
A free-form dashboard: drop clock, focus timer, countdown, month calendar, hour grid, quarter grid, growth cards, the curve, a Spotify player, or a YouTube/local video anywhere on the board. Drag to place, pull the corner to resize in both directions, stack as many as you like. The focus (pomodoro) timer takes a task name and logs every completed block to your history. Spotify shows real album art and playback from any pasted link; both media widgets are optional.
An editable profile (name, goal) with headline stats — streak, 30-day average, total ticks, focus hours, weekend-vs-weekday — plus Going well, Pain points, data-driven What to improve suggestions, and your focus-session history. Export a designed PDF progress report for the last 7 / 30 / 90 / 365 days: stat tiles, daily-rhythm bars, habit bars and the compound curve, drawn on-device.
- Three themes — hand-drawn Paper, chalkboard Night, and the neon Neo above
- Six animated backgrounds — galaxy (shooting stars), aurora, forest (fireflies at night), pixel sunset, ocean, or plain
- A 430-font picker (7 curated + a 423-font library) in a searchable dropdown where every entry previews itself; the chosen font takes over the whole app
- Six languages — English, العربية (full RTL), Français, Deutsch, Español, हिन्दी — switched from the top bar
- A discreet ✎ style menu right on the home page; deep-link any look with
?theme=neo&bg=galaxy
- Plain login — email + password, magic link ("email me a login link"), password reset, or Continue with GitHub
- Live cross-device sync — realtime updates plus refresh-on-focus and a 30-second fallback. Sync merges instead of overwriting: each section and each checklist day carries its own edit-time, so switching devices can never reset or lose progress — a tick made anywhere survives everywhere
- Account page — edit name, phone, email (confirmation flow) and password
- Security center — TOTP two-factor (scan a QR in any authenticator app), a devices & sessions list (platform, last active, forget a device), and log out everywhere
- Account deletion built in; every table is locked with row-level security so only you can read your data
- Day score = tasks completed ÷ tasks that existed that day.
- Compound index = start at 1.0; each day multiply by
1 + score/100. - "% better" =
(current − previous) / previous; weeks start Monday. - Data lives locally first (works fully offline) and syncs to your account when online.
git clone https://github.com/smafnan/compound.git
cd compound
npm install
npm run dev # http://localhost:5173
npm run build # static site in dist/ — deployable anywhere (this repo → Netlify)Demo mode with generated data: append ?demo. Deep-link tabs with ?tab=checklist,
looks with ?theme=night&bg=forest.
Desktop: npm run dist:win → release/Compound-Setup-<version>.exe (mac/linux scripts
included; macOS builds require a Mac — or use the Desktop builds GitHub Action).
Mobile: npm run build && npx cap sync, then npx cap open android / npx cap open ios.
Requires JDK 21 and the Android SDK (easiest via Android Studio):
npm ci
npm run build # web build → dist/
npx cap sync android # copy dist/ into the Android project
cd android
./gradlew assembleDebug # → android/app/build/outputs/apk/debug/app-debug.apkInstall the APK on a device with adb install app-debug.apk, or run it straight from
Android Studio (npx cap open android → Run ▶). No local toolchain? The Android APK
GitHub Action builds it in the cloud — every v* tag attaches Compound-android.apk to
the release, and Actions → Android APK → Run workflow produces a downloadable artifact.
If you point the app at your own Supabase project, set Auth → URL Configuration:
Site URL = your deployed origin, and add it to Redirect URLs (plus
http://localhost:5173 for dev). Otherwise verification / magic-link emails redirect to
Supabase's default and land on a blank page instead of back in the app.
Vite · React 18 · TypeScript · hand-rolled CSS · Supabase (auth, Postgres + RLS, realtime) · Capacitor 8 (Android/iOS) · Electron (desktop) · jsPDF (on-device reports) · six-language i18n with RTL. Deployed on Netlify.
MIT — do whatever compounds you.
every day counts !






