• Financial Services
  • Flutter

We put a Flutter feature inside Betterment’s native iOS and Android apps and trained the engineers to take it from there. One week after training, they were building Flutter features for the production app.

Betterment accounts
775K+
in assets, March 2023
$32B
Flutter developers trained
20+

Betterment’s app on a phone: the native Earn more on your cash screen, and the account-creation flow built in Flutter and added to the native app, from the password step through the portfolio, the target allocation, and the goal settings. An x-ray lens shows native screens hatched and the Flutter screens as Flutter widgets.

Checking Cash Reserve Invest Retire

Earn more on your cash

Cash reserve balance $10,245.50

Get one of the highest rates on the market

2 of 5

Next, create a strong password.

To make this extra secure, please use symbols, uncommon words, and at least 8 characters.

Portfolio

Review how your funds will be invested

Allocation Reset

Target allocation

70% Stocks

Target allocation70% Stocks

We recommend 90% Stocks for your goal
Goal settings

Goal name Edit

General Investing

Goal target Edit

Target amount$100,000.00

Target dateAug 2050

Portfolio Edit

Portfolio strategyBetterment

Allocation70% Stocks

01The ask

Move two native apps to Flutter without stopping either.

Betterment’s app lets customers invest and get financial advice from their phones. After years of development, the mobile code bases were getting hard to manage, and the native teams’ velocity was starting to slow.

Flutter looked like the answer. Betterment wanted proof that Flutter code could sit inside the existing native apps, a way to migrate large legacy apps without rebuilding everything from scratch, and a team that could learn Flutter fast enough to write production code.

In their words

  • “Even with a talented team, converting two large, legacy codebases into a single codebase using an unfamiliar technology was a challenging proposition. Working with VGV gave us the added confidence we needed to evaluate Flutter, figure out that we love it, and commit to migrating our entire app.”

    VP Architecture, Betterment Sam Moore

02The pilot

One non-critical flow went first.

VGV built the account-creation flow in Flutter and connected it to the existing native code with Flutter’s add-to-app. The pilot showed that add-to-app integration works and performs well inside Betterment’s apps.

Our team stayed on hand from that first Flutter feature through the weeks after training, answering the engineers’ questions and helping them find answers.

Three tilted phones with Betterment screens, a create a strong password step two of five, goal settings for General Investing with a $100,000 target by Aug 2050, and a review of how the funds will be invested

03The plan

Port a piece at a time, build everything new in Flutter.

Instead of a full rewrite, VGV helped plan a phased migration. Portions of the app move to Flutter over time, every new feature is built in Flutter, and stable native code stays put until it is ready to move.

We set up the architecture, code organization, tooling, and workflows for the hybrid app, so quality and maintainability hold as more of it is ported.

Two tilted phones, one with the Betterment Earn more on your cash screen and a $10,245.50 cash reserve balance, the other with a target allocation of 70% stocks and a recommendation of 90% stocks

04The training

From Flutter beginners to production code in a week.

VGV ran formal training for Betterment’s engineering team, with group sessions, hands-on examples, and breakout groups. In one week, engineers went from minimal Flutter knowledge to building Flutter features that are now part of the production app.

More than 20 developers came out of it trained in Flutter. The Android and iOS teams now build in one code base and move forward together.

05What changed

Two platform teams, one code base.

  • The pilot

    Flutter and native, working in one app.

    The account-creation pilot showed Flutter code could live inside the existing native apps and perform well.

  • The team

    More than 20 developers trained in Flutter.

    Engineers with minimal Flutter experience were building production features a week after training.

  • One team

    Android and iOS move together.

    After training, both teams build in one code base, for better collaboration and productivity.

  • The roadmap

    Betterment committed to the whole app.

    The app moves to Flutter piece by piece while new features start in Flutter, and the engineers keep their stride.

06If you’re next

What we’d tell a team in Betterment’s seat.

  1. 01

    Pilot Flutter on a non-critical flow first. It answers the integration question with real code and low stakes.

  2. 02

    Skip the big rewrite. Build every new feature in Flutter and move stable native code only when it is ready.

  3. 03

    Train the whole team early and keep experts nearby for the weeks after. Betterment’s engineers were building production Flutter features a week after training.

  4. 04

    Agree on architecture, tooling, and workflows while the Flutter side is still small.

Roll credits.

Who did what, and with which tools.

Client
Betterment
Our part
Flutter pilotMigration strategyEngineering standardsTeam training
Platforms
iOS and Android
Built with
FlutterFlutter add-to-app
Timeline
One week of trainingSupport through the weeks after

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.