EducationWeb application · Mobile application · SaaS · E-commerce
Language-learning platform rescue and re-platform
We rescued and re-platformed an existing web and mobile language-learning product: a full backend refactor onto a new schema with a rehearsed zero-loss data migration, a rebuilt admin panel, fixed card payments, single-device login, a parent/child multi-profile subscription module with pro-rated pricing, and a revived mobile app building again on iOS and Android.
Problem
The client's existing language-learning platform had controllers referencing tables that no longer existed, broken payment flows, and a mobile app that would not compile, blocking further growth of a subscription product.
Key features
- Full backend refactor onto a new database schema with structured success/failure logging
- Zero-loss data migration via migration services, custom console commands and seeders
- Single-device login enforcement with a force-login override, on web and mobile
- Card payment fixes and promocode-at-registration support
- Parent/child multi-profile subscription with pro-rated pricing and tiered discounts
- Revived mobile app builds on iOS and Android
- Azure staging environment and written deployment runbooks
Tech stack
- Azure Database for MySQL
- Azure VM
- Blade
- Gradle
- Hermes
- Laravel (PHP)
- MySQL
- Paystack
- React Native
- SendGrid
- Stripe
- Xcode / CocoaPods
Services behind this project
Read more
- 22SEP
Flutter vs React Native: choosing a cross platform framework
Flutter vs React Native compared on architecture, performance, UI, native features and team skills, with a checklist to pick the right framework for your app.
Engineering5 min read
- 01SEP
Rescuing an inherited codebase: what we check in the first two weeks
A recurring kind of engagement: a product that already exists, a broken handover and a deadline that hasn't moved. Here's the checklist we run before we touch a line of code.
Engineering4 min read