Feature overload
The popular apps keep growing: feeds, challenges, coaching offers, ads. You open the app to log a set and first have to get past everything else.
Our own product · iOS app
Your own training program, a set logged in two taps, strength charts and all of your body progress in one app.
The whole app in five tabs. Every screen does one thing, and the number on it is the largest element.
Home
Workout
Exercise
Strength
Weight
Photos
Context
Simple Gym is where the training program, every set, the strength curves, body weight, measurements and photos live together. You bring your plan, the app turns it into a log and keeps track of the progress from the first session on.
Anyone who already has a plan: an experienced lifter, someone a year into training, or a beginner working from a program they were given. Bring the plan and the app turns it into a log and a chart in the first session.
A program assembled from your training days and your exercises. A set that logs in two taps. A rest timer that starts itself. Strength charts with an estimated max. And one place that also holds your weight, measurements and photos.
For an agency, releasing its own product is the only honest test. We went through the whole loop: the product decisions, the design system, the code, the backend, App Store review, subscriptions and privacy compliance. That is the experience a client gets on their project.
The popular apps keep growing: feeds, challenges, coaching offers, ads. You open the app to log a set and first have to get past everything else.
The gap between sets is short. If logging means a modal, a search and several confirmations, the workout gets written up afterwards, or not at all.
Workouts in one app, weight in another, measurements in notes, photos in the camera roll. Nobody sees the whole picture, because it never comes together anywhere.
A log on its own is just a list of numbers. Without a chart that compares months, you cannot tell whether strength is rising, flat or falling.
Everything that was built, by area. Most of it works for free, and Premium opens the full graph history, the rest timer, carry over, rep guidance, notes, unlimited measurements and photos, custom configuration and an ad free app.
A training week assembled from your own plan.
A library where a movement is recognised by its picture.
Everything between the first set and the last.
Whether strength is rising, flat or falling.
The part a strength chart does not show.
The data follows the person, not the device.
The log, the strength chart, the body data and the photos: where the app spends most of its time.
The workout screen is a list, not a form. Weight and reps sit in the row, warm ups and drop sets are marked apart, and the rest timer starts by itself once a set is confirmed. An exercise can be swapped on the spot, with equivalents suggested from the library.
Every set lands on a chart: best weight, total volume and the estimated one rep max the app works out from weight and reps. If the number stops climbing or starts falling, the app says so at once, in time to adjust the plan.
Weight goes in on a scale: a thumb drags the ruler and the number is done. Measurements live in the same place for chest, arms, waist and thighs, and you can add your own areas. Both appear on a chart beside the strength data, so a change in bodyweight can be read against the training.
The photos sit side by side, the first against the latest, and any two can be compared. The angles are front, side and back, and you can add your own. Photos are encrypted on the device and stay there; a backup, if switched on, goes to your own private iCloud.
The drawings exist so a movement is recognised at a glance while logging, and so it is visible which muscle is working. The library holds 114 exercises with descriptions, 36 of them with two drawn positions.
Conventional deadlift
Start position
Conventional deadlift
End position
Barbell row
Start position
Barbell row
End position
Back squat
Start position
Back squat
Bottom position
Execution
The decisions that set how the app feels in the hand and how long it stays maintainable.
A dark interface with one accent colour and one primary action per screen. Colour, type, spacing and motion live in code as tokens, and the screens are covered by snapshot tests at three size classes.
SwiftUI on iOS 17 with state through @Observable. The calculations, the estimated max and the weekly streak among them, live in a separate pure Swift module with no UI dependency, so they are tested in seconds without a simulator.
A Laravel REST API is the single source of truth; the device keeps a cache and an offline write queue. Sign in works with Apple, Google or email, and the data follows the person to another device.
Progress photos and custom exercise images are encrypted and stay on the device. Analytics start switched off and only turn on after the person agrees, and the App Store privacy label matches what is actually collected.
The first decision was a single job: the log, the tracking and a clear picture of progress. It set everything else, because every feature after it was measured against that job and only shipped if it made it stronger.
Tokens, then components, then screens. Every screen was checked against one question: what does a person do here first, and in how many taps?
The SwiftUI app and the Laravel API. The calculations carry gold master tests, so a change in the maths behind the charts cannot slip through quietly.
114 exercise descriptions and 72 drawn positions. The longest stretch, because each description has to be written in plain language rather than copied in.
App Store review, subscriptions, the privacy label and the consent flow. The app went live on the App Store in July 2026.
Numbers about the product, not promises about outcomes. The app is new, so we are not showing user metrics here.
Exactly the number listed on this page, from assembling a program to deleting an account.
36 of them with two drawn positions and the working muscle lit.
Progress photos are encrypted on the device and stay there.
We use cookies to run the site, for anonymous analytics and, with your consent, for marketing.
Enable the core functionality of the site. Always on.
Help us understand how the site is used.
Let us show more relevant content and ads.