Start the conversation
  • Sports & Fitness
  • Flutter
  • RevenueCat

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

Slow-mo 0.25×

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.

  1. 01

    Audit every app before you write a line. Features, dependencies, and API endpoints go into one roadmap first.

  2. 02

    Reach parity before you polish. Ship the critical features first, then improve.

  3. 03

    Move subscriptions in the same project, so billing and analytics come out of one system.

  4. 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

Laura Hughes Lekhi Director of Business Development
Greg Laird Senior Business Development Executive
Jorge Coca VP of Engineering
Shannon Campbell Product Lead

We’ll care about your success as much as you do.

Our unicorns read every message and reply, usually the same day.

Start the conversation

A 30-minute call about what you’re building.