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.
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.
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-stylefor the status bar andviewport-fit=coverfor 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
What it's built with
This site runs on Astro, and so does the website I built for a switchboard manufacturer.
What the first month will show
After launch I'll set up analytics, and a month later the studio will see three numbers.
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 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
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 appBlog article on this topic: What AI implementation costs: a web-app estimate and what it covers
Related cases
Website, map listing and cloud phone system for a switchboard manufacturer
The manufacturer worked on referrals and had no presence online. Now it has an Astro website with a GigaChat…
A platform for launching ad campaigns: from a desktop app for myself to a web service
It started as a Tkinter desktop app for my own use and grew into a Telegram bot and a web app on Next.js…
A playable ad for a mobile game: install rate up 73%, each install 38% cheaper
A 5–10 second HTML5 mini-level with the game's real mechanics, built with Cocos2d-js. One codebase produces…
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