Skip to content

Allow this site to count your visits with Yandex Metrica? Metrica will store cookies in your browser to do this. How the site uses cookies

VC
I've worked out this solution step by step, but I haven't built it for a fitness studio yet. So the timeline and price on this page are an estimate for a typical studio with group classes, YClients booking and memberships.
Blueprint 11 of 11 · Ready-made solution · Development

A fitness studio app that installs from the browser and updates without the App Store

Studio clients check the schedule, book classes and renew memberships on their phones. A progressive web app (PWA) handles all of that: it installs on the iPhone home screen straight from Safari, works offline and sends class reminders.

For
Fitness studios and studio chains
Technology
PWA · Workbox · IndexedDB · iOS
Timeline
4–5 weeks
Integrations
YClients · YooKassa
Problem

Every update to a native iPhone app goes through App Store review

A studio usually needs only a few things: the group class schedule, booking, reminders 24 hours and 2 hours before a class, visit history and memberships. A native iPhone app needs an Apple developer account at $99 a year, and the store reviews every update, even a small text fix.

Clients have to find the app in the App Store and install it just for one studio.

If the studio wants to try new features quickly, such as video workouts, each one waits for that review.

Solution

A web app that installs on the iPhone home screen

  • Manifest and service worker (Workbox 7). A service worker is a background browser script that makes offline mode possible. The app installs from Safari's Share → Add to Home Screen menu, with its own icon and launch screen
  • iOS-specific meta tags: icons for every iOS screen size (180/167/152/120 px), apple-mobile-web-app-status-bar-style for the status bar and viewport-fit=cover for the notch on iPhone X and later
  • An install hint on iPhone. Safari doesn't offer to install a web app by itself, so on the first visit the app shows "Install to get notifications" with a two-screen walkthrough
  • Offline mode through IndexedDB, the storage built into the browser. The schedule, profile, workout history and membership are kept on the phone, so they open on the metro with no signal
  • Booking without a connection. A client can book a class with no signal. The app saves the booking and sends it to the server the next time it's opened with a connection, because Safari on iPhone doesn't sync in the background. The confirmation comes after that
  • Notifications. Booking confirmations and reminders 24 hours and 2 hours before class. Apple has allowed push notifications for web apps on the home screen since iOS 16.4. Clients who haven't installed the app can get reminders by SMS
  • YClients and YooKassa. Booking goes through the API of YClients, an online booking service for studios and salons. Memberships are paid directly through YooKassa, a Russian payment service
Technology

What it's built with

Astro / Vite
pages built ahead of time
Workbox 7
offline mode and caching rules
IndexedDB (idb)
data stored on the phone
PWA Asset Generator
icons for every iOS screen size
Web Push API + VAPID
notifications (iOS 16.4 and later)
YClients REST API
class booking
YooKassa
payments in Russia
Sentry
error reports from the live app

This site runs on Astro, and so does the website I built for a switchboard manufacturer.

What to expect

What the first month will show

After launch I'll set up analytics, and a month later the studio will see three numbers.

Installs
how many clients added the app to their home screen
Bookings
what share of class bookings came through the app
Reminders
how many clients opened a class reminder

I'll make a forecast for your studio during the 5,000 ₽ audit, based on your schedule, your monthly bookings and how clients book today.

Where it fits

Where a web app can replace a native one

  • Booking services (fitness, salons, spas, clinics): it works like a regular app, and updates ship without App Store review
  • Online shops: order-status notifications, a catalogue that works offline, installation straight from the browser
  • Internal tools for teams: no App Store distribution, and an update reaches every employee at once
  • Online schools: assignments arrive in the app and lessons open offline
  • Ad campaigns that lead to an app like this: people install it straight from the landing page, with no app store in between
Have a similar project?

Going from a technical brief to a finished app that looks like a regular one on the phone takes 4–5 weeks. Prices start at ₽450,000 for a first working version (booking, offline mode, notifications) and at ₽600,000 for a full app with integrations.

Discuss your app
Ready to start?

Start with the 5,000 ₽ audit: a written report and a payback estimate

I'll tell you what to automate first, when it will pay for itself and whether your task needs AI at all. Sometimes it doesn't.

Or just ask a question. During business hours I reply within 2 hours