A ledger, not a game.
A workout-logging app for serious lifters, built for iPhone. I worked on all of it: the idea, the brand, the design, and the app itself.
What it is
You log a set in two taps, including how many reps you had left in the tank (that's RIR). Then the app tells you the thing most won't: are you actually getting stronger, or just turning up? It keeps the whole record, for good.
Why it's different
Most logging apps try to keep you hooked with streaks, badges and a feed. Notch has none of that. A serious lifter already knows whether they showed up — what they're missing is proof they're improving. So the app skips the dopamine and just does the maths.
Who it's for
People who already lift seriously and track it, and are tired of apps treating them like beginners. It's not built for day-one gym-goers or the smartwatch crowd. It works on your phone, and that's on purpose.
Tagline: Log it. Prove it. Keep it.
Before I built anything, I sat down with four serious lifters. The same answers came back. They already track their training, and they judge how hard a set was by how many reps they had left in the tank (RIR). Every app they'd tried buried that under streaks, feeds and badges, until the training itself got lost in the noise. And one ask kept surfacing: they wanted to watch their strength hold, or slip, through a cut. That locked the plan: put RIR-based logging at the centre, show strength over time honestly, and cut everything that isn't the work.
The name does a lot of the work. A ram's horn grows a ring every year it lives, and your training is the same: every session is one more notch. So the mascot is a ram (I call him The Keeper) and the logo is a notched horn. The look is something I call Dark Ledger: warm near-black, dark all the way through, with monospace numbers and clean prose. Depth comes from soft frames over a faint ruled background. My one rule was that colour always has to mean something, so it's never there just to look nice.
The whole app runs on one move: log a set, and see right away what it was worth. Because it knows how hard the set felt, it can tell a real personal best from a fluke.
- Effort-aware loggingTap in how many reps you had left. Now the app knows how hard it was.
- Quiet PRsPersonal bests show up calmly, by rep range. No confetti.
- Honest max estimateYour estimated max over time, adjusted for how hard each set felt, so an easy day doesn't look like progress.
- Stall detectionTells you when a lift has stopped moving, going off the trend instead of one bad day.
- TrendsWeekly volume and your estimated max over time. The big picture.
- Kept for goodRoutines, your own exercises, a CSV export, and a backup so none of it dies with your phone.
Most apps answer one thing: did you show up? Notch answers a harder one: did you get stronger? It takes a single logged set and turns that into a straight answer, plus a record you keep even if you delete the app.
I designed Notch and built it myself, in code, directing AI dev tools to do the heavy lifting. There's no hand-off between a Figma file and the real app — the SwiftUI is the design, so nothing gets lost in translation. That's how one person ships a proper iPhone app. Here's what it's made of:
- SwiftUIThe design lives in the code, so the screens are the spec.
- SwiftDataSaves everything on the phone, so logging is instant and works offline.
- StoreKit 2Handles the subscription and the free trial.
- SupabaseSign-in and cloud backup, so your data follows you to a new phone.
- PostHog · EUOpt-in analytics, so I can see what's helping without being creepy about it.
- Cloudflare PagesRuns the site and waitlist at notchlift.app.
The hard part was deleting things. I built a streak counter, liked it, then killed it, because a streak is exactly the game I was trying to get away from. I cut the exercise list from 873 down to 438, keeping only the ones I'd actually program myself. A few features I was excited about got pushed to after launch. When I wasn't sure something earned its place, it didn't make it in.
Notch isn't launched yet, so there's no retention or revenue to point at — and I won't pretend there is. What I can show is that the bet checked out before I committed to it, and that there's real demand waiting on it.
- Done The full Dark Ledger design system, dark and instrument-grade, with every screen and feature built.
- Done Exercise library down to 438, the brand and Keeper mascot, and the waitlist site live at notchlift.app.
- Done A full QA pass: the test suite green, a backend security review, and a class of edge-case crashes designed out.
- Now Fixing the last blockers, then onto real-device testing.
- Next App Store submission, launch, then the roadmap of things I cut to get there.



