2025-2026

Gymscle is an iOS app for logging gym workouts. You set up a training plan, log weight and reps set by set during the workout, and track history, progress and body measurements over time. I designed and built it myself in Swift. No accounts, no server, everything stays on the phone.

246 commits between June and August 2026, version 1.3 on TestFlight, with real people logging real sets. App Store next.

On TestFlightiOS 26, v1.3 (15)

The week, then one setFour days in the plan, one tap to start. Under the weight field the app spells out the plates: 20 + 2x10 + 2x1,25.
History, badges, streakRed dots on workout days. 18 of 30 badges engraved on plates, and a summary that shows a minus 21 percent month. Five week streak, 780,5k kg lifted.

Two of the clips I posted on X while building it, each one the week the feature landed.

More clips: scanning a paper plan with OCR, progress photos, dumbbells instead of steps.

Before this one

End of 2025 I wrote the first Gymscle as a React PWA, in a month, for myself. I wanted to learn how to work with AI on real product code, and a new training cycle from my coach picked the project. Every existing gym app got something wrong: charged more than I wanted, insisted on how-to images at year nine, refused to take a plan my coach's way (half a set overhand, half underhand). So: plain text, big tap targets for sweaty hands, one exercise on screen at a time. I used it every week at the gym. It worked.

Early 2026 I tried to grow it. iOS and Android on Expo and React Native, plus a web dashboard for trainers on React and Vite, React Query on both sides, Supabase underneath with row-level security splitting client from coach. Maciej, the same Maciej who helped on Bruvely, joined for the database layer. His coach friend supervises several clients in parallel from a laptop, so the dashboard ran live sessions with two or three people at once. After-hours plus a day job plus two surfaces, the math did not close. Maciej had his own backlog at Redbrick. We picked life and the day job over a third evening shift. It did not ship.

Version one, early 2026Same idea, one screen per exercise. The black screen and the red button survived three rewrites.

The third version started with three cuts. No trainers. No Supabase. No accounts. One person, one phone, their data on their phone. That is the app at the top of this page.

Swift and SwiftUI, SwiftData for storage. An Apple Watch app that shows the current set and logs from the wrist, home screen widgets, a Live Activity while a workout runs. Apple's on-device model reads a training plan off a photo or PDF and writes workout summaries, and when Apple Intelligence is off the app says so instead of pretending. Progress photos can mirror to iCloud if you switch that on. It is off by default. No backend anywhere.

On TestFlightiOS 26, v1.3 (15)

© 2026 Mateusz Dembek