Fitwise — Workout Tracker and Training Dashboard
Our own workout tracker. Log every set in a couple of taps, even with no signal; sign in and the website turns your training into progress charts, personal records, streaks and a body-weight trend. Live now with a demo account; Android and iOS apps are coming soon.
See it running
The problem
A workout log is filled in between sets, often in a basement gym with no signal, so it has to be fast and it has to work offline. Once the same history lives on a phone, a second device and a website, sync must never lose or duplicate a set. And the numbers people care about (estimated one-rep max, volume, records, streaks) have to come out the same wherever they look.
How it’s built
The app is local-first: everything is stored on the device and works with no account, and signing in is optional. Every record carries an id made on the device and the time it last changed; the server keeps the newer copy and records deletions, every write takes the next number from one PostgreSQL sequence, and each account’s writes are applied one at a time, so “everything after this point” never skips a change. The rules for one-rep max, volume, records and streaks are written down once with test vectors, and the website’s tests check them. The website is Next.js on PostgreSQL; passwords are hashed with Argon2id, and sessions and API tokens are stored only as hashes.
What it does
- Website: overview, history, per-exercise progress charts, personal records, body-weight trend, routines and settings
- Light and dark themes, laid out for phones and desktops
- A demo account with seven weeks of made-up training that anyone can open, no sign-up
- A documented sync API with integration tests against a real PostgreSQL
- Android and iOS apps coming soon: logging that works offline, with optional sign-in to sync
Learn to build software like this
The free courses teach the same craft — from the basics to a real, running project.








