LVL 1/14
AntRep banner
Personal

AntRep

AntRep began as the question Star-Do Valley left open: does a checklist that behaves like a game actually keep someone showing up once real life is on the line? I built the answer for myself first, a private, gamified iOS workout tracker that treats training like a quest log. Then I showed it to trainers and athletes I know, a working coach asked for her own version, and the personal experiment became client work, now being built as a secure, separate web app for her and her athletes.

01

Where It Started

Star-Do Valley ended on a bet I never got to test: that a checklist works better when the list is the game, not a gate in front of one. AntRep is me collecting on that bet with the most stubborn checklist in my own life, training.

The honest starting point is the same one every fitness app ignores. Logging a workout is already work. Most trackers respond by adding more work, rest timers, macro rings, a subscription paywall. What kept me coming back in Star-Do Valley was the opposite instinct, keep the productivity layer boringly familiar and let the game do the motivating. So the plan was simple. Build a personal workout app where a training day feels like clearing a quest log, use it every day, and let daily use tell me which ideas earn their place.

Design Goal

Make showing up feel like progress before any progress shows up. A training day is a checklist to clear, consistency compounds into visible growth, and the numbers underneath stay trustworthy enough that a real coach could run her business on them.

02

The Personal Build

The first build is a private iOS app, SwiftUI and SwiftData, with every byte of training data staying on the phone. No accounts, no server, no analytics SDK. A plan is a week of push, pull, legs, run, and rest days. Each day is a set of exercises with a checkbox, optional set and weight logging, and a done state that feels exactly like ticking off a task.

On top of that sits the gameful layer carried over from Star-Do Valley thinking. XP and levels, day and week streaks, weekly quests, badges, and celebration moments when a milestone lands. Underneath it sit eight read only analytics engines that turn raw logs into personal records, habit scores, muscle balance, and plan adherence, answering am I actually getting better instead of just did I show up.

The design language is deliberately cozy rather than clinical. Rounded typography, soft checkbox states, and a theme system of around seventy accent palettes where workout colors and chart palettes are derived at runtime from whichever accent the user picks, so nothing is restyled by hand per screen. It has been in daily personal use since the first build, which is the most honest usability test I have ever run on my own work.

03

From Personal Tool to Client Work

The plan was only ever a personalised app. Then I showed it to trainers and athletes I know, mostly to sanity check whether the quest log framing held up for people who train seriously. One of them, a working personal trainer, did not want my app. She wanted her version of it. A place where she builds the plan, her athletes log their sets from their phones, and the results come back to her looking like the spreadsheet she already runs her business from.

That conversation turned a personal experiment into a client engagement, and it changed the design problem completely. My app could be opinionated because it had one user. Hers has a roster of athletes whose data is not mine, not hers to mix, and not optional to protect. So the client version is being built as its own secure web app, separate from the personal build, rather than a stretched version of it.

04

What the Coach Actually Needed

The requirements did not come from a spec. They came from watching how she already works and refusing to add a workflow tax on top of it.

  • Her spreadsheet is the interfaceShe already builds every plan in Excel and sends results back the same way. So plan entry supports pasting a copied spreadsheet range straight in, and every export comes back out as a styled workbook that looks like her business, not like a demo of mine.
  • It has to feel instantA coach watching a session live cannot be staring at loading spinners between sets. Logged sets appear optimistically before the round trip confirms them, and live views refetch silently in the background when data changes elsewhere.
  • Separation by law, not by promiseEvery athlete's data is scoped at the database layer with row level security, so an account can only ever read its own rows or the rows of an actively linked coach. The client is never trusted to ask politely.
  • A locked front doorNew accounts stay locked until manually approved, and invite codes are single use, hashed at rest, and expire within minutes. Real people's training data earns a real gate.
  • Two apps, one buildAthletes and the coach get separate installable web apps, one for logging today's workout and one for the roster, plans, and inbox, both served from a single deploy so nothing drifts apart.
05

Two Builds, Opposite Constraints

Same idea, opposite ends of the same skillset. The personal build optimises for one motivated user. The client build optimises for other people's trust.

Who it servesOne user, me, every day.A working coach and her whole roster.
Where the data livesEntirely on the phone. Privacy is the architecture.In a shared database where row level security is the architecture.
What motivatesXP, streaks, quests, and a world that reflects effort.A coach who can see the session and answer in the inbox.
The source of requirementsMy own daily use.Her existing spreadsheet workflow, matched, never replaced.
06

Outcome & What's Next

AntRep is currently in private testing. The personal iOS build has been in daily use since it first ran, and the client web app is being built and tested with the coach and a small group of her athletes, with screenshots held back until she signs off on sharing them.

What carries over from Star-Do Valley is the instinct, not the pixels. Figure out who the product is really for, find the loop that already motivates them, and let their actual constraint drive the architecture. For me that constraint was a habit that needed to feel like a game. For her it was a business that already worked and could not afford to be broken by my ideas. The next milestone is getting the client build through testing and into her everyday coaching, then folding what her athletes teach me back into both builds.