Big Beard Man
Leo Vladimir, a kinesiologist from Split and a national bodybuilding champion, has coached people for more than fifteen years. For his BBM Training System we built the whole platform: a bilingual public site, an app clients install on their phone and open at every workout, payments for a program, subscriptions and gifts, and the coach side Leo runs his clients from. It took 58 days from the first line of code to launch.


The app in your pocket
Clients install it straight from the site to their home screen and open it like any other app, without the App Store. These screens come from the real app running on demo data, exactly as any visitor who tries it sees them.






It behaves like an app
Installs from the web
Its own icon, full screen, with shortcuts to today's workout, the plan and messages. iPhone users get step-by-step instructions.
Works without signal
Screens the client has already opened stay available even in a basement gym, and for the rest the app says plainly that there's no network instead of showing a blank screen.
Phone notifications
A new program, a message from Leo, a moved workout and a reminder seven days before access ends. On iPhone, notifications only reach the home-screen app, so the app shows how to add it there.
Rest counts on a locked screen
Rest time is calculated from the clock, not the screen, so a phone call or a locked phone loses neither the set nor the rest. The screen stays on while you train.
No white flash between screens
Screens change without a blink, and the next one starts loading as soon as you tap.
Two languages, down to the last word
Croatian and English across the app, emails, notifications and checkout. Croatian plurals, the vocative of names and grammatical gender are handled in code.
Approach
This app isn't opened at a desk, it's opened in the gym: between two sets, with one hand, often with no signal and a locked screen. So we started with the set logger and only then built everything around it. Once logging worked with a weight in hand, we added the program, progress, messages, payments and Leo's side. Before launch, testers and Leo himself tried the app over several rounds, and every round brought a new batch of fixes.
Challenge
This app gets opened in the gym: between two sets, with one hand, often with no signal and a locked screen. It had to install without the App Store, send notifications on iPhone too, sell a program, subscriptions and gifts without a single double charge, and keep clients' health data and photos the way the law requires. All of it in two languages, with Croatian grammar, for a launch at an exact minute.
Solution
The set logger is built for the thumb: buttons that change the weight by 2.5 kg, prefilled from the last workout, rest that starts on its own and keeps counting on a locked screen, and a screen that stays on while you train. The app installs from the web like a real app, keeps screens you've already opened available without signal and sends notifications, walking iPhone users through the setup step by step. Payments run through Stripe with Apple Pay and Google Pay, and from the coach side Leo builds programs, follows progress and answers messages.
Result
The platform launched on 12 October at 20:00, 58 days after the first line of code, with real payments coming in from that same minute. Clients train from the app on their phone, Leo sees every workout, check-in and message in one place, and any visitor can try the real app on demo data before buying.
What we built
- A public site in Croatian and English: five programs, packages, a questionnaire that recommends a program, articles, a video library and a demo week with no account
- A 20-screen app that installs on the phone: Today, Program, Workout, Exercise, Progress, Measurements, weekly check-in, Messages, Profile and subscription
- A set logger built for the gym: thumb buttons of at least 56 px, prefilled from the last workout, rest that survives a locked screen, separate warm-up sets and a stopwatch for timed exercises
- Next-weight suggestions by double progression and an estimated one-rep max (1RM) over twelve weeks
- Stripe checkout embedded in the page: card, Apple Pay and Google Pay, a one-time six-week program and three monthly packages, with a 14-day money-back guarantee
- Gifts with a BBM-XXXX-XXXX code, delivered at a scheduled time in Croatian time and valid for 12 months
- A reminder seven days before access ends, in the app, by notification and by email, and extensions that keep the remaining days
- Phone notifications for both client and coach, and 17 kinds of automatic email
- A demo app for every visitor, on demo data and with no account
- Privacy: explicit consent for health data, export of your own data, and Google Analytics and Clarity only after consent
- 12 test files, including a check of all 2,880 combinations of questionnaire answers
Leo's side
- A morning list instead of a report: who paid and is waiting for a program, who needs attention, new weekly check-ins, completed workouts and messages waiting for a reply
- A client file: volume, records, measurements and photos, questionnaire answers with injuries highlighted, weekly check-ins and this week's plan
- Program building that works on a phone too: sets, reps, RPE, rest and a note per exercise. A template is copied to the client, so changing it for one person leaves everyone else untouched
- An exercise library with Leo's videos, uploaded straight to storage with a progress bar and a thumbnail from the first second
- Reminders computed by the database itself: paid but no program, last week of a block, program unchanged for six weeks, no workout in ten days, no check-in in two weeks
Technology
The only React in the whole app is the set logger. The public pages are static HTML, and the app is rendered on a server in Frankfurt, right next to the database.
Key features
Related services
Related projects
Want a result like this?
Tell us about your project and we'll come back with a clear quote within 24 hours.
Start a project