We migrated V1 Sports’ six native iOS and Android apps to a single Flutter code base, with RevenueCat behind every subscription. Revenue doubled year over year and user accounts passed 300,000.
- revenue, year over year
- 2x
- user accounts
- 300K+
- codebases unified
- 6 → 1
A three-hole mini golf round inside V1’s analysis screen. Drag back from the ball to aim and set the power, shown as a yellow guide line, and let go to putt. Each putt replays in slow motion with its path drawn in yellow, and a scorecard counts strokes against par.
Drag back from the ball
01The ask
Every fix, six times over.
V1 Sports has made swing video analysis tools since 1995. Its products have reached more than 10,000 coaches, instructors, and training facilities, and over four million athletes, across V1 PRO, V1 GOLF, V1 GAME, and V1 BASEBALL.
The suite ran as six separate iOS and Android apps, each on its own native code base. Every update, bug fix, and feature had to be built several times over, which raised costs and slowed releases.
02The migration
One Flutter code base, built feature by feature.
We reviewed all six apps first, documenting features, dependencies, and API endpoints into one roadmap. The new project started on Very Good Start and VGV’s architecture patterns.
Then we built in prioritized sprints, critical features first, until the Flutter app matched the legacy apps. Improvements came after parity, planned with V1’s product and engineering teams every day.
03The money
One source of truth for every subscription.
V1 Sports brought in RevenueCat, a subscription app monetization platform, and we integrated it as the single backend for subscriptions and in-app purchases. Billing, analytics, and customer data sit in one place.
04The handover
Shipped with the manual.
A component gallery, a design system, and documentation came with the code, so V1’s engineers can extend the apps themselves. Builds went out through TestFlight and Google Play Console for early feedback and phased rollouts, and we ran the full review cycle with Apple and Google.
After launch we kept fixing and improving, and ran training, documentation, and shadowing sessions so V1’s internal team could manage and extend the apps with confidence.
05What changed
Less code to keep, more revenue to count.
-
2x
Revenue doubled.
Revenue doubled year over year.
-
300K+
Accounts at a new high.
User accounts grew past 300,000, a new high for V1 Sports.
-
6 to 1
One code base to maintain.
Every fix and feature ships once, to iOS and Android together.
-
One backend
Subscriptions in one system.
RevenueCat holds billing, analytics, and customer data for the whole suite.
06If you’re next
What we’d tell a team in V1 Sports’ seat.
- 01
Audit every app before you write a line. Features, dependencies, and API endpoints go into one roadmap first.
- 02
Reach parity before you polish. Ship the critical features first, then improve.
- 03
Move subscriptions in the same project, so billing and analytics come out of one system.
- 04
Plan the handover from the start. Docs, a component gallery, and shadowing let your team own the result.
Roll credits.
Who did what, and with which tools.
- Client
- V1 Sports
- Our part
- Discovery and assessmentFlutter migrationRevenueCat integrationDesign systemApp store launchKnowledge transfer
- Platforms
- iOS and Android
- Built with
- FlutterRevenueCatVery Good Start
Built by Very Good Ventures
More success stories
All success stories
A NASCAR VIP experience that runs without the cloud
Real-time insights and sponsor engagement in the VIP pit box.
Slickdeals doubles release velocity with Flutter
- release velocity
- 2x
- test coverage
- ~80%
Flutter News Toolkit: 80% less time to launch
- less time to launch
- 80%
- audience growth
- 10%
We’ll care about your success as much as you do.
Our unicorns read every message and reply, usually the same day.
Start the conversationA 30-minute call about what you’re building.






