We make your team very good at Flutter. Then we leave.

Hands-on training, code review and architecture guidance inside your repo, until your engineers ship Flutter to the VGV standard without us.

A 30-minute conversation about your team.

Commits in your repo
  1. Assess
  2. Pair
  3. Hand over
An illustration of the handover: our share of the commits falls week by week until the repo is all yours.

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
  • “VGV’s insightful guidance accelerated our efforts significantly, steering us towards a more robust and scalable app architecture.”

    Slickdeals On the code assessment
  • “Their proposal showed us how we could efficiently and consistently deliver improvements for the user.”

    Nav On the code assessment
  • “Each member on our team was contributing meaningful updates to our codebase in less than two weeks. On top of that, many of our teammates said that the training was simply fun.”

    Betterment On the training, in their engineering blog

The goal is a team that doesn’t need us.

Very good first. Then on your own.

Your team works to the standard we hold our own code to, and keeps working to it after we go. No long-term dependency, no black box. It’s the same program every new VGV engineer has gone through since 2018. The standard is written down, in public, in Very Good Engineering.

We build the training around your team.

We pick the lessons with you and run them over a few days to a few weeks, online, on site or both. Every lesson ends with your engineers writing code.

  • Your stack, not ours

    Architecture, forms and testing lessons come in a Bloc or a Riverpod track, so your team learns the approach it already uses.

  • More coding than slides

    A short talk plants the idea. Then your engineers practice it on sample apps built to our standards, with our team in the room.

  • Ready on day one

    Prerequisite material and the sample projects arrive before the first session, so it starts on solid ground.

The foundation

12 lessons
  1. Never say no to designers! Building custom UIs with Flutter
  2. Widget catalogs with Widgetbook
  3. Architecting your application with Bloc or Riverpod
  4. FFCA architecture for Flutter
  5. Connecting with the clouds: networking over HTTP
  6. From A to B: how navigation between pages works
  7. Helping your next million users: internationalization and accessibility
  8. Making your product extra fun: forms in Flutter!
  9. Unit and widget testing with coverage
  10. Testing with Bloc or Riverpod
  11. Golden testing with Alchemist
  12. Pushing the limits of automation

Add what your product needs

9 lessons
  • Introduction to Dart
  • Building an animated splash page
  • Don’t reinvent the wheel: using and creating packages and plugins
  • Let the computers do the work for you: code generation
  • Building backends in Dart with Dart Frog
  • Building a GraphQL API with Amplify
  • When things break in production: error reporting with Sentry
  • AI-assisted engineering with Claude Code
  • AI-assisted workflows for Flutter and Dart

The AI lessons teach the workflow our own engineers use: Claude Code with VGV Wingspan, the Very Good AI Flutter Plugin and the Very Good CLI MCP server.

Releases speed up, surprises drop, and your team owns the work.

Less duplicated code means less technical debt, and a codebase with tests is one people dare to change. In the teams’ own numbers:

What teams ask before the first session.

Short answers from real engagements. Anything else, bring it to the first call.

01 Do our engineers need Flutter experience first?

No. Betterment’s engineers were new to Flutter and were building features themselves soon after training.

02 We use Riverpod. Is that a problem?

No. The architecture, forms and testing lessons come in a Bloc or a Riverpod track. We pick one with you and stay consistent throughout.

03 Can we book the training on its own?

Yes. Training runs from a few days to a few weeks, depending on where your team starts and which lessons you pick. We agree the lessons and the calendar before the first session.

04 Is the training remote or in person?

Either, or both. Many trainings mix online sessions with in-person workshops.

05 Can individual developers sign up?

No. Training is for engineering teams.

06 How big does the team need to be?

Enablement works with the team you have. At Betterment it reached more than 20 developers, through group sessions, hands-on examples and breakout groups.

07 How long does an engagement run?

Until your engineers ship without us. Nav’s ran nine months, from modernizing the stack to training the in-house team. The first step of a migration runs three weeks.

08 Is it only for teams moving from native to Flutter?

No. Nav already ran Flutter. The work was upgrading dependencies, migrating to null safety, adopting a scalable state management solution and training the team on best practices.

09 Can you enable the team while you build?

Yes. At Betterment we migrated the app in phases while training the engineers who would take it over.

10 What happens after the engagement ends?

Your team keeps the code, the IP and the standards. The standards are public in Very Good Engineering, so nobody has to remember them.

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.