Inspiration

A fitness app should help someone continue training across ordinary, interrupted weeks. baseline organizes the experience around the next useful action and the record of what came before, so consistency can be maintained without turning every session into data entry.

What it does

baseline helps people keep a training commitment through small, direct actions. Drag to set weight and reps, compare with the previous session, log a set and move through rest into the next one. Training history and weekly commitments give each workout context.

The workout player uses drag controls for weight and repetitions, a previous-session ghost, set logging, rest timing, hold-to-skip and supersets. A session recap records the completed work. TODAY, weekly commitments, KEPT and BOARD connect individual sessions to the broader routine.

A catalog of 1,302 exercises, machine scanning, year history and export support training preparation and review. Social features include posts, pixel avatars, QR connections, gym context and messages. Demonstration listings show the interaction; they do not represent a claim of a large community.

How it is built

The current client uses Kotlin Multiplatform and Compose Multiplatform with shared training logic and UI. Platform adapters support the iPhone host and billing. Training records preserve the values and context of each set, while the shared design system includes Rime frosted sheets and direct-manipulation controls.

Challenges

Fast input has to remain precise when someone is between sets. Weight, reps, prior performance, rest and supersets must stay understandable without a keyboard-heavy flow. Shared rendering also has to preserve the intended feel on the actual target device.

Accomplishments

The main training loop brings entry, comparison, logging and rest into one focused player. The same visual language connects the plus-to-close transition, frosted sheets, session recap and commitment views.

What we learned

Previous performance is most useful when it appears beside the current decision. Reducing entry friction and making the next action visible can support a repeatable training routine without adding more dashboards.

What's next

The next priority is testing the full workout loop with varied equipment and interrupted sessions, then refining input, history and recovery. Community growth and long-term adherence need to be measured after public use.

Business model

The free core supports training and history. Plus adds building and importing plans, with a 14-day trial for eligible users. RevenueCat manages subscription access; no unverified revenue or conversion is claimed.

Built With

Share this project:

Updates

posted an update —

When I train, I don't want mental exercise, only physical. I want to get to the gym, open the app, and have it tell me today's exercises, how each weight compares with last session, and how much to lift. That's all. I want the app to do all of the mental exercise for me.

To enter weight and reps, I chose dragging very early. Typing numbers means tapping keys, and arrows take up the screen. A watch version also matters a lot to people who train, and to me, so I'd like it there one day. That means the interface has to be extremely simple.

The first version had two separate drags, one for weight and one for reps. I used it every day for nearly two weeks. It was fairly OK. But using it, I felt something was missing: a graph comparing today's weight with last time's. Once the graph was there, one drag made more sense than two: up and down for weight, left and right for reps.

At first baseline was only for me. I didn't care if anyone else used it. Then I realised that might be why I wasn't consistent, and staying consistent is the point of the app. So I added a social side, to feel some pressure. The feed came from another app I built and dropped once I saw that idea was too far from reality. In baseline it fits well.

I didn't want too much pressure, though, or a board about who lifts the most. The board scores how true you are to yourself. How much you lift, and how often, don't count. I set it to score over twelve weeks, and a missed day doesn't roll over into the next week. Say four sessions a week and do four, and you rank the same as someone who says seven and does seven.

Log in or sign up for Devpost to join the conversation.

Submission history