Cover of the guide Flutter Architecture, English edition: 38 decisions, and the code that applies them, to structure a Flutter app that has to grow, with 12 Structure, 14 Data and state and 12 Delivery and scale decisions.
Portada de la guía Arquitectura Flutter, edición en español: 38 decisiones, y el código que las aplica, para estructurar una app Flutter que va a crecer.

Architecture · 2026

Flutter Architecture: Guide + Starter Project

€24,99
  • You get the download link after purchase
  • Digital product: nothing is shipped
  • Secure checkout by Shopify
  • Instant digital delivery: no refunds for a change of mind once the download is available. Refund policy
  • American Express
  • Apple Pay
  • Bancontact
  • Google Pay
  • Klarna
  • Maestro
  • Mastercard
  • MB WAY
  • MobilePay
  • PayPal
  • Satispay
  • Shop Pay
  • Union Pay
  • Visa

Start your next Flutter app with the architecture already decided.

38 decisions on structure, layers, state, errors, environments, tests and CI, each with the reason behind it and when to bend it. Plus a starter project for Android and iOS, with tests and CI, built on them.

€24,99

Proof, not promises

The rules come with real, tested code

Each decision has three parts: the problem, the rule and when to bend it. 27 of the 38 quote their code straight from the starter project, so the guide and the code can't disagree.

Decision 8 from the guide, Put shared widgets and the theme in ui/core, marked 1 to 3: the problem and the rule, the AppTheme code from the starter project, and When to bend it.
  1. The problem first

    A situation you'll recognise, then the rule that avoids it.

  2. The rule, in real code

    Quoted from the starter project you get with the guide.

  3. When to bend it

    The case where the rule costs more than it gives.

Structure decisions

12

Data and state decisions

14

Delivery and scale decisions

12

Tests in the starter project

30

Preview

A look inside

Real pages, not mockups.

Page 7 of the guide: the lib/ folder tree of the starter project, and decision 4, Keep dependencies pointing one way, with the CI step that checks the layers.
Page 17 of the guide: decision 17, Make the repository the single source of truth for its data, with the cache code of TaskRepositoryRemote, and decision 18, Return a Result instead of throwing across layers.
Page 41 of the guide: Walkthrough, Adding the task detail feature, with the getTask repository method and the TaskDetailViewModel code.

What you get out of it

A structure decided before the app grows

Every decision made before the first feature

Folders, layers, dependency injection, navigation, errors and environments, decided and explained.

A starter project you can run today

A Flutter app for Android and iOS with in-memory data, so it runs without a backend.

Tests and CI from the first commit

30 tests on fakes across services, repositories, view models, screens and the router, and a GitHub Actions workflow.

Know when to bend each rule

Every decision ends with the case where it costs more than it gives.

Built on Flutter's own recommendations

MVVM, repositories, provider and go_router, verified with Flutter 3.47.7 and Dart 3.13.5.

Add every feature in the same order

A walkthrough that adds a feature layer by layer, two checklists and an ADR template.

Who it's for

Start where your project is

Which questions and exercises to study for each level
If you're… Read Then
A developer whose apps get messy as they grow Structure and Data and state (decisions 1 to 26) Follow the walkthrough to add a feature
Starting a new app All 38 decisions Make the starter yours and add your first feature
A lead setting up a team project Delivery and scale (decisions 27 to 38) Write your ADRs and use the checklists

The guide assumes you already ship Flutter apps: it doesn't explain widgets, async code or ChangeNotifier basics.

It's for you if…

  • You ship Flutter apps and they get harder to change as they grow
  • You're starting a new Android or iOS app and want the structure decided up front
  • You lead a team and want rules everyone can read and follow
  • You want real code, not just diagrams

It's not for you if…

  • You've never built a Flutter app: this isn't a course from zero
  • You need architecture for Flutter web or desktop: it's built for Android and iOS
  • You're looking for a video course

How it works

From download to your first feature in four steps

  1. Buy and download

    Pay securely with Shopify. You get one zip with both PDFs, English and Spanish, and the starter project.

  2. Run the starter

    Open it in your editor and run it on an emulator, a simulator or your phone. No backend needed.

  3. Read the decisions

    Each one shows the problem, the rule, the starter's code when the rule needs code, and when to bend it.

  4. Make it yours

    Rename the package and the app identifiers, set your API URLs and add your first feature in the order the guide shows.

Two PDFs, A4: English edition 47 pages, Spanish edition 48 pages. Plus the starter project source: a Flutter app for Android and iOS with 30 tests and a GitHub Actions workflow. Code verified with Flutter 3.47.7 and Dart 3.13.5; you need Flutter with Dart 3.12 or later to run it.

The price

The guide, priced per decision

38 decisions, 27 of them with code quoted from a runnable starter project that has 30 tests and CI, and both PDFs in English and Spanish. One purchase.

Per architecture decision

€0,66

€24,99 ÷ 38

Preparing on your own compared with the guide
Aspect Building it on your own With the guide
Folder structure Decided again in every project Decided once, by feature and by layer
Where the logic goes Wherever it fits that day One rule per layer, imports checked in CI
Errors Exceptions that reach the screen Typed errors in a Result
Tests Added later, if ever 30 tests on fakes from day one
Environments A line you comment out One entry point per environment

Your next Flutter app can start with the hard decisions already made.

Instant digital delivery: no refunds for a change of mind once the download is available. Refund policy

FAQ

Frequently asked questions

What's in the zip?

Two PDF files, the English edition (47 pages) and the Spanish edition (48 pages), and the code/ folder with the full source of the starter project.

What do I need to run the starter project?

Flutter with Dart 3.12 or later (the code is verified with Flutter 3.47.7) and an Android emulator, an iOS simulator or a device. In development it uses in-memory data and accepts any email and password, so you don't need a backend.

Which state management does it use?

View models built on ChangeNotifier (MVVM), provider for dependency injection and go_router for navigation, following Flutter's official architecture recommendations. It doesn't compare Riverpod, Bloc and Provider; it explains where another solution would plug in.

Can I use the code in my own apps?

Yes. You can use, modify and compile the starter project into your own apps and into apps you build for your clients, including apps you publish or sell. What you can't do is redistribute the source code itself, for example as a template or in a public repository. The details are in section 8 of the Terms of Service.

Does it cover web or desktop?

No. The guide and the starter project are built for Android and iOS.

Is it in English or Spanish?

Both. One purchase includes the English and the Spanish edition, with the same decisions and the same code.

How do I receive it?

It is a digital product. You download the zip after purchase and nothing is shipped.

Your cart

Your cart is empty

Add a product and it will show up here.

Continue shopping