Skip to content
VC
Case Study #06 · Mobile development

Swift/SwiftUI MVP for an online English school in 9 weeks

An online English school (4,800 active) was losing retention at M3 because Skyeng and Lingoda already lived in students' pockets. Native iOS MVP on Swift 5.9 + SwiftUI in 9 weeks, approved by App Store on the first try in 19 hours. M1 retention rose from 64% to 81%.

Industry
Online English school (B2C)
Stack
Swift · SwiftUI · Firebase · StoreKit 2
Timeline
~9 weeks
Outcome
App Store · 1 try · 19 hrs
01 · Pain Point

Tilda + Zoom + Google Sheets don't fit in a pocket

An online English school with 4,800 active students ran on a classic online-course stack: Tilda as landing page and student portal, Zoom for lessons with teachers, Google Sheets for schedules and progress. It worked, but lost to competitors on one simple metric: the student had to "open Tilda and look for where today's lesson is" every time.

Skyeng and Lingoda had long lived in students' pockets: push notifications 24 hours, 1 hour, and 10 minutes before class; homework and pronunciation drills in any spare minute; CEFR-scale progress with visualization.

The result was predictable: retention dropped at M3. The student missed a lesson because they forgot; missed the second one because returning was awkward; on the third they switched to a competitor with an app. Marketing at CPL ₽4-6k stopped paying off.

02 · Solution

Native iOS on SwiftUI with Speech Framework and StoreKit 2

The MVP covers three key functions: lesson schedule with multi-step push (24/1/10 min), pronunciation trainer via on-device Speech Framework, and CEFR-scale progress. Backend on Firebase (Auth, Firestore, Cloud Messaging) with the architectural decision for future migration to a custom backend captured in an ADR. App Store and RuStore from Day 0.

01
SwiftUI UI

Schedule · Lesson · Trainer · Progress · Account — 12 screens

02
Push notifications

Local + Firebase Cloud Messaging: 24h / 1h / 10 min before class

03
Speech Framework

On-device speech recognition, pronunciation accuracy scoring

04
StoreKit 2 + YooKassa

In-app purchases for App Store; YooKassa for the Russian perimeter

05
Firebase backend

Auth, Firestore (schedules), Storage (materials); migration ADR

SwiftUI as the primary UI language

In 2026, UIKit-only is an anti-pattern for an MVP. SwiftUI covers 95% of UI cases of a typical school faster and with less code. iOS 17+ as minimum version removed limitations: you can use @Observable, Inspector and the new ScrollView APIs without dancing around old versions.

On-device Speech Framework — no latency, no servers

The pronunciation trainer is the app's killer feature. Apple Speech Framework works on-device on iOS 13+: the user speaks a phrase, the phone recognizes and compares against the reference. No audio servers, no latency, no inference costs on the school's side. Each trainer session costs the school ₽0.

StoreKit 2 + YooKassa in parallel

App Store requires in-app purchase for digital content — that's StoreKit 2 with 30% commission. But for Russians whose Apple ID doesn't work with a Russian card, payment via YooKassa in a WebKit window runs in parallel. Architecturally these are two independent UI branches with a feature flag by GEO.

Firebase as deliberate "tech debt"

Firebase backend is a deliberate MVP choice: don't spend 4 weeks on a backend we'll rewrite in a year. The migration ADR is prepared: Firestore schema is described with PostgreSQL portability in mind, data layer is isolated via Repository pattern. When the time comes — migration will take 3-4 weeks, not "let's rewrite everything from scratch."

App Store review — first try in 19 hours

The submission was prepared per checklist: clear feature description, demo account for the reviewer with real data, privacy policy per 2025 requirements, proper declaration of Speech Framework and push notifications. The review passed in 19 hours on the first try — for a Russian school and non-resident it's a rare case.

03 · Stack

Modern Apple-native stack 2026

Swift 5.9

Minimum Swift version with macros and improved concurrency model

SwiftUI (iOS 17+)

Primary UI framework: @Observable, Inspector, new ScrollView APIs

Speech Framework

On-device speech recognition and pronunciation scoring, ₽0 per session

StoreKit 2

In-app purchases for App Store, server-side notifications for sync

YooKassa SDK

Alternative payment channel for Russian cards via WebKit

Firebase Auth/Firestore

MVP backend: Auth, schedules, materials; migration-ready via Repository

Firebase Cloud Messaging

Multi-step schedule push notifications: 24h / 1h / 10 min

RuStore SDK

Parallel publication in the Russian store for users without Apple ID

Swift 5.9SwiftUIiOS 17+Speech FrameworkStoreKit 2YooKassaFirebaseRuStore
Budget vs studio pricing
Project cost
₽1,400,000

from kickoff to App Store live in 9 weeks

Studio estimate
₽4-5M

based on 3 commercial proposals from 2026 studios

04 · Results

What changed in 2 weeks after release

App Store review
19 hrs

approved on 1st try, no changes

Activation
78%

install → first lesson in the app

M1 Retention
64% 81%

thanks to push notifications and trainer

Installs in 14 days
2,100

~44% of the active base moved to the app

The headline number isn't installs or retention, it's ₽3M saved vs the studio estimate. With that money the school bought a year of content marketing + expanded the teaching team. App Store live in 9 weeks with proven PMF — that's a trajectory studios don't deliver in 4-5 months.

Bonus we didn't bake into the KPI: 78% activation — higher than Skyeng (per public data). The reason — on-device Speech Framework: in the first 10 minutes the student already speaks a phrase and sees their progress. That's the "wow moment" that previously existed only in a paid lesson.

05 · Where it fits

Where else the same approach fits

Universal pattern — "SwiftUI MVP in 8-10 weeks, Firebase as deliberate tech debt with a migration ADR". Fits anywhere a B2C product with an active base needs to be in the user's pocket:

  • Online schools for any subject — programming, math, languages, music
  • Fitness and yoga apps — workout schedules, push notifications, progress
  • Subscription content services — media, audio, premium courses
  • SaaS products with companion app — mobile client for a web service
  • Local services — clubs, associations, loyalty programs with schedules
What's reused on subsequent projects
  • SwiftUI MVP scaffold: navigation, theme, accessibility, base components
  • Firebase Repository pattern with a ready ADR for migration to a custom backend
  • StoreKit 2 + YooKassa dual payment with GEO feature flag
  • App Store submission checklist that passes review on the first try
Similar challenge in your business?

If you need an iOS MVP with real PMF — it fits in 8-10 weeks

Native SwiftUI + Firebase + a well-considered migration ADR — that's a budget of ₽1.2-1.6M instead of ₽4-5M at studios. Time to App Store live — 8-10 weeks. Suitable for B2C products with an existing active user base.

Готовы начать?

Аудит за 5 000 ₽ — с конкретным отчётом и сметой

Расскажу что внедрить в вашем бизнесе в первую очередь, какая будет окупаемость, и нужен ли вообще AI для вашей задачи (иногда — нет).

Или просто напишите свой вопрос — отвечу в течение 2 часов