Featured project · Web app

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.

Design · Web app (PWA) · Payments and subscriptions · Coach side · Two languages
Website by Strigy Studio: Big Beard Man
Website by Strigy Studio: Big Beard Man, on mobile

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.

Big Beard Man app: Today screen with the day's workout and weekly goal
TodayToday's workout, the weekly goal and the next focus on the first screen. The greeting follows the time of day, with the name in the Croatian vocative.
Big Beard Man app: logging sets with weight and reps
WorkoutLogging sets with one hand: weight and reps on buttons, prefilled from the last workout. Rest starts on its own and keeps counting on a locked screen.
Big Beard Man app: pull-up exercise with Leo's video and estimated 1RM
ExerciseLeo's video in one tap, step-by-step instructions and an estimated one-rep max (1RM) over twelve weeks.
Big Beard Man app: progress with weekly volume and body weight
ProgressSix weeks of workouts in rings, weekly volume and body weight. Volume is calculated from logged sets, excluding warm-ups.
Big Beard Man app: conversation with coach Leo
MessagesA conversation with Leo, with a read receipt. Leo gets a phone notification for every message.
Big Beard Man app: monthly measurements and progress photos
MeasurementsMonthly measurements and progress photos. Photos are resized on the phone and kept in private storage, visible only to the client and Leo.

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.

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.

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
Start a project