Apple Notes worked until I had to search it

I started lifting in high school. Five or six years later, I still write down every set. At first, I used Apple Notes:

lat pulldown:
175x7
175x7

Writing a workout took seconds. Finding one later was awful. I would be sitting at a bench, phone in hand, searching for the last day I benched and scanning a huge note for two numbers.

I tried tags like #push and #pull. That only gave me another thing to maintain. If I forgot one, the workout might as well not exist.

Other apps fixed the search problem and then asked me to start a seven-day trial. I could not justify a subscription for putting a number next to an exercise. So I built my own.

I wanted to log the set and leave

On a normal gym day, I tap Logit from my home screen. It tells me today's split and gives me one big button, usually Log Pull or Log Push. The exercises are already there.

I enter the sets, save, and close it. I do not want six cards explaining the workout I just did. I definitely do not want to browse a dashboard between sets.

I want people to see the application, do the thing, and then leave.

I tried building it in Expo first. A native app meant another toolchain, an Apple developer fee, and store review. None of that made the logger better. I already knew Next.js and React, so I made the site installable and put it on my home screen.

The best infrastructure is a sidewalk. You use it. You do not stand there admiring it before you go somewhere. That is what I want from Logit.

Eight folders later

My disk has eight folders with some version of "logit" in the name. One is literally called logit-fuck. They are not eight releases. A few are barely projects. They are what I left behind each time I got annoyed enough to restart the interface.

An early README called Logit a "sophisticated fitness tracking platform with AI-powered insights." It promised a bento dashboard, nutrition, analytics, and onboarding that asked for height, weight, body fat, gender, age, health information, equipment, and training preferences before anyone logged a set.

I was building a fitness platform before I had built a good logger. A later concept file opens with "logit is about LOGGING WORKOUTS." That line was right.

The useful change was moving the last set under the current input. Once the active split loaded by itself, most of the dashboard had no reason to exist, so I deleted it.

Cropped Finder window titled logit iterations showing eight differently named Logit project folders
Figure 1. The actual folders. Some contain full rebuilds. Some contain almost nothing.

The current UI did not come from one perfect mockup. I kept deleting things until I stopped fighting the app at the gym.

Put the last set next to this set

Notes made me hunt for history. Logit puts it under the field.

In the Pull workout above, Lat Pulldown says I last hit it on May 22. Under today's input is the previous set, 190 pounds for seven reps. The field already has a starting suggestion. I do not leave the form or search anything.

Explicit rules generate the suggestion. Logit looks at up to five recent sessions for that exercise, where the exercise appears in the workout, and how long it has been since I last did it. Then it builds later sets from the way I usually back off weight and reps.

I wrote down the scoring model, recovery curve, confidence score, and limits. You can read the full method here.

I like AI. I just do not want it everywhere. If rules I can inspect give me a useful answer, I would rather read the rules than debug a prompt.

The bug that sent me back to Notes

I skipped Push on a Monday. On Tuesday, the app showed Pull. I backdated Monday's workout before I started, and Logit decided Tuesday's workout was already done. The Pull button disappeared.

I was at the gym holding the app I built to replace Notes. I opened Notes.

The fix was one condition. A workout counts as "logged today" only when both its Pacific date and normalized workout type match today's plan. Monday Push cannot finish Tuesday Pull.

A backdated Monday Push workout compared with Tuesday's Pull plan. Neither the Pacific date nor workout type matches, so the workout is not considered logged today and Pull remains available.
Figure 2. Both checks must pass. A Push workout dated Monday cannot clear a Pull workout scheduled for Tuesday.

I had focused on the UI 100 percent and the UX maybe 75 percent.

That missing 25 percent was Tuesday. A logger loses its whole reason to exist the first time it sends me back to Notes.

I added things I do not use

I did not plan to put Nutrition in Logit. Someone asked for it, so I added it. The rest timer arrived the same way. I barely use either one.

The nutrition request soon became a photo request. The person who asked could not reliably guess the calories and protein in a meal. Could Logit look at a plate and estimate both?

I knew how to build that. A vision model would read the photo, then Logit would parse the response and fill the form. Every meal would cost money to log. I would also own another feature I did not want to maintain.

I think the more interesting challenge is getting the app as far as it can go without AI tooling.

The one AI feature I liked was called "Ask Ben." It asked about the user's schedule, equipment, experience, session length, and goals. Claude then drafted a seven-day split. Logit did not save anything until the user pressed Create split.

When the credits ran out, I removed it. I probably would not bring it back even if inference were free. The API bill was only one cost. I would still own another screen, more states, and every redesign after that.

Nutrition and the timer taught me the same lesson. A request can be reasonable and still make my app worse. I am allowed to say no.

Finished means I can stop thinking about it

Logit has helped me improve. That is enough. I do not need a complete fitness platform.

I bounce between Ghostty, Kitty, iTerm, cmux, and tmux. Switching takes a few minutes because the basic commands do not change. A workout logger should ask even less of me.

I may remove Nutrition and the timer. I may redo the progress summary if I can keep the home screen free of charts. I do not need a roadmap just to prove the project is alive.

I built Logit because I wanted yesterday's numbers beside today's empty fields. It does that now.

I keep my own training public. You can see it on my Logit profile.