Kyrsten Horvath
← All work
Case study

Street Parking

Moving a fitness app with 30k+ active subscribers from NativeScript to React Native and Expo.

  • React Native
  • Expo
  • TypeScript
  • Stripe
  • NativeScript
Role
Software Engineer at Launchpoint Dev
Platforms
iOS and Android
Scope
Framework migration and subscription paywall
Timeline
About 2–3 months
Street Parking preview
  • 30k+active subscribers
  • 4.8★from 350+ App Store ratings
  • 2–3 mofrom NativeScript to Expo, end to end

The project

Street Parking is a fitness app with new daily workouts, 60+ training programs, expert coaches and a worldwide community. Its app was built on NativeScript.

Moving it to React Native and Expo meant rebuilding a live app that tens of thousands of paying members rely on. While I was at Launchpoint Dev, I led that migration and carried most of the rebuild myself.

What I did

  • NativeScript to React Native and Expo. Led the ground-up migration of the app to React Native and Expo, doing most of the rebuild myself.

  • Custom subscription paywall. Built the paywall from scratch, with no RevenueCat, handling Stripe, Apple Pay and Google Play billing for 30k+ active subscribers.

How the migration went

The whole project took about two to three months from start to finish, in three phases.

  • Rebuild (2–3 weeks). Moved the app from NativeScript onto React Native and Expo.

  • Clean-up (about 2 weeks). Worked through the rough edges the rebuild left behind.

  • Polish (1–2 weeks). Finished with better animations and a round of improvements across the app.

The results

  • A better-feeling app. The biggest win was the overall feel of the app for members.

  • Faster feature work. The new codebase made it practical to take on more of the client's feature requests.

  • Over-the-air updates. Expo let the team ship fixes and updates straight to users without waiting on a full app store release.

Building an app like this?

Tell me what you're working on. I reply within 1-2 business days with honest next steps.

Start a project
Next case study: Bellynote →