Full Course

Flutter Animations Masterclass

Master Flutter animations and learn how to make apps that stand out, just like this one:

Sign up to get over 10 course lessons for free:

Or buy now if you're ready!

Not convinced? Here's an interactive demo showing what you'll build (Pssst. it's made with Flutter web):

Streaks App Clone. Note: try this on desktop if it doesn't work on mobile.

This project is inspired by the Streaks app - one of the top health & Fitness apps on the App Store (and also an Apple Design Award winner).

This app combines a very slick UI with custom animations to create a unique user experience.

And you know what? With Flutter you can truly build beautiful UIs, and my goal for this course is to show you how. I'll teach you how to build a beautiful app with complex animations, production-level code and a strong focus on architecture.

Course curriculum

What's inside?

7hrs of Video
7hrs of Video
Bonus Articles
Bonus Articles
Full Source Code
Full Source Code
Premium Support
Premium Support

The course is made of 10 independent modules, each with a specific learning objective.

Module 1

Intro and Implicit Animations

Getting started:

  • A fun game with Implicit Animations!
  • Introduction to Animations in Flutter
  • Implicit Animations with examples
  • Under the hood: Duration and Curves
  • TweenAnimationBuilder and Tweens

Module 2

UI Challenge: Stopwatch app

Learn about the foundations of Flutter's animation framework and build a completely custom UI using:

  • Ticker and TickerProvider
  • Matrix Transforms
  • Stacks, LayoutBuilder & other layout widgets

Module 3

Habit Tracker App Overview

Overview of the starter project for the Habit Tracker app:

  • Colors, fonts, assets, and required packages
  • Project structure & linting rules
  • Common model and widget classes

Module 4

Explicit Animations

How to build a custom task completion UI using:

  • AnimationController
  • AnimationBuilder
  • Custom Painters
  • Gesture Detectors

Module 5

Local Data Persistence with Hive

How to read and write data to local storage:

  • Introduction to Hive
  • Creating custom model classes
  • Type adapters and code generation
  • Creating a domain-specific API class for data persistence

Module 6

State Management with Riverpod

How to manage dependencies and state:

  • Working with Providers, Consumers and ConsumerWidget
  • Managing dependency overrides with ProviderScope
  • Performing state changes with Riverpod
  • Managing new models and their relationships with Hive

Module 7

Page Flip Animation

Diving deeper with animations to build a custom page flip effect:

  • AnimationController (advanced)
  • AnimatedBuilder & AnimatedWidget
  • 3D Matrix Transforms
  • Custom interactive transitions

Module 8

Advanced Theming

How to apply custom UI themes to the app and animate between them:

  • Adding a theme selection UI panel that can slide in and out
  • Working with global keys and callbacks across multiple widgets
  • Theme selection and persistence with Hive and Riverpod
  • Advanced animated theming with ImplicitlyAnimatedWidget

Module 9

More Explicit Animations

More eye-candy with custom UI and animations:

  • Working with Tweens to animate Opacity and Scale
  • Staggered Animations
  • Using the built-in transition widgets

Module 10

Add and Edit Tasks

Functionality to add, edit and delete tasks:

  • Custom Modal Bottom Sheets
  • Slivers
  • Custom TextFields
  • ListViews
  • Icon selection

And much more...

Custom animations are great. But real apps are made of more than just UI.

So we will also learn about app architecture, local data persistence, state management, and how to write maintainable code following best practices.

You will not learn about animations in isolation. Instead you'll see how everything fits together to create a real app.

Course structure

Learn. Practice. Apply.

Each module has a specific goal and is composed of three parts:

Starter Project

At the beginning of each module I'll walk you through a starter project that includes all the code, assets and resources that we'll use.

Technical Planning

Before diving into the code, we'll try to figure out the best way to build the features that we need (just like professional software developers do).


I'll guide you through an optimal implementation that I've refined after trying many different solutions and evaluating their tradeoffs.

I'll also include some extra challenges that you can take to practice what you learn.

Along the way, you will learn about the best techniques for solving various animation problems (and believe me, we'll encounter many UI & animation challenges).

This is not the kind of course where you just watch me typing in some code. Instead, I will always explain what we're going to build and why, and then how.

By the end of the course, you'll be confident working with animations in Flutter and you'll have a completed project to show for it.

Animations have always been my weak point, but Andrea's course covers most if not all the biggest Animation topics, and does so with lots of examples.

Another fantastic course from a great teacher.

Tadas Petra

Tadas Petra

Google Developer Expert for Flutter & Dart

Andrea always goes in-depth by creating high-quality courses, and this one does not disappoint.

Learning about animations in Flutter is vital to building beautiful and engaging applications.

I highly recommend this course if you want to master animations in Flutter!

Robert Brunhage

Robert Brunhage

Google Developer Expert for Flutter & Dart

Who is this course for?

This is not a beginners course.

To make the most of this, you need to have a good understanding of the Dart Language (my Complete Dart Course can help with that). I'll assume that you're already familiar with StatelessWidgets and StatefulWidgets, common layouts (Row, Column, Stack), and the foundations of state management in Flutter.

However, it's ok if you're completely new to animations in Flutter. I will explain how animations work from the ground up, and include additional resources that you can use to fill any gaps.

If you are a Flutter developer looking to build beautiful apps and take your skills to the next level, this course is for you. And this is worth a lot more than the price of admission.

Flutter Animations Masterclass

Get the Animations Masterclass

Choose the package that works for you

The Complete Package

USD(VAT may apply)
  • All 10 modules, totaling 7 hours of video
  • Lifetime Access + All Future Updates
  • Bonus Articles and Videos
  • Full Source Code
  • Premium Support on Slack
  • English Subtitles
  • Completion Certificate
  • 30 Day Money Back Guarantee

The Essentials

USD(VAT may apply)
  • First 4 modules, totaling 3 hours of video
  • Lifetime Access
  • Full Source Code
  • Premium Support on Slack
  • 30 Day Money Back Guarantee

Andrea has some of the highest quality online courses I have seen. He does not gloss over the issues of optimization or best practices that so many other courses do.

You can adapt what you learn from his courses, right into real-world applications!

Justin Borgers

Up-to-date content, didactic instructor, good support community on Slack, additional resources, tutorials and optional videos with the latest advances in Flutter.

Concise and direct to the point, with a huge number of diagrams. A colossal amount of work to simplify our learning.

Fabian Sosa Escalada

I am enjoying this course, the pace is just right for an intermediate/advanced level course.

In addition to learning about animations your excellent code style is teaching me new aspects of Dart and Flutter :-) I also appreciate the notes at the end of each video.

Chris Thompson

Thank you for a great course Andrea! 5-stars.

I shall be recommending this course to anyone wanting to learn about animations in Flutter.

I loved how each lecture is broken down into bite-sized chunks, with source code included.

Douglas Todd

30 day money back guarantee

I spent over 300 hours making this a high-quality course and I'm confident you'll get a lot of value out of it.

But if you're not happy with it, for any reason, you can reach out within 30 days of purchase to get a full refund.


Frequently Asked Questions

How long is the course?

The course includes 7 hours of in-depth content. I know you're busy and I want to give you the best value per minute watched, so I'll focus on quality content and code.

What will we build in this course?

In the first two modules we will learn about the basics of animations in Flutter and get some practice by completing a UI challenge.

Then we will build a complete habit tracking app with custom UI & animations, and learn about state management, app architecture, and much more.

Will we build the Habit Tracking app from scratch?

No, but this is a good thing. The finished project is over 2,500 lines of code and it would take a long time to complete the course by building everything from scratch.

Instead, I will include a starter project at the beginning of each module and we will focus on building the most interesting features, with great attention to detail. Each module will include a walkthrough of all the code that is provided so you can more easily find your way.

Will we build all the features from the Streaks app?

No. The Streaks app is a complete product with a ton of features that were developed over many years. Instead, we will focus on the things that make this app unique and the skills that you can carry over to other projects.

What kind of animations will I learn about?

You will learn about all the core Flutter animation APIs and combine them to build a real-world app. With this strong foundation you'll be able to add animations in your own apps and better understand how to use 3rd party animation packages.

Will we use Flutter 2?

Of course! The entire course uses Flutter 2 with Null Safety. I'll be keeping it up to date with the latest changes, so you don't have to worry about outdated content.

What are the course prerequisites?

This is not a beginners course.

To make the most of this, you need to have a good understanding of the Dart Language (my Complete Dart Course can help with that). I'll assume that you're already familiar with StatelessWidgets and StatefulWidgets, common layouts (Row, Column, Stack), and the foundations of state management in Flutter.

However, it's ok if you're completely new to animations in Flutter. I will explain how animations work from the ground up, and include additional resources that you can use to fill any gaps.

Is the source code included?

Of course! You'll get the full source code for all the course projects, along with all the additional materials.

Are there assignments and projects?

Yes. I have included extra challenges that you can take to practice the techniques covered in the course:

  • each challenge comes with clear requirements and directions
  • you are encouraged to solve it by yourself
  • I'll share a final working implementation, so that you can compare your solution with mine

Remember that trying things on your own is a great way to learn.

What if I get stuck? Can I ask questions?

Yes. The course includes premium support on Slack and I aim to answer all questions within 24 hours.

Where is the course hosted?

The course is hosted on my Teachable school.

This is a premium course and I will not offer it for a discounted price on Udemy.

Will I get a completion certificate?

Sure do! Once you complete the course this will be issued to you automatically.

What is my teaching style?

My courses are very practical, clear, and concise - just like all the tutorials on my YouTube channel. I always explain what we're going to build and why, and then how. You'll leave this course with a deeper understanding of how things work and will be able to apply this knowledge to your own apps.

I bought the essentials package. Can I upgrade to the complete package?

Sure - email me at courses@codewithandrea.com and I'll send you a coupon that you can use to upgrade to the full package.

I'm a student / I can't afford the course / I live outside the US/EU / do you support Purchasing Power Parity (PPP)?

Unfortunately PPP is not supported by my course platform. If you're a student you can email me with your student ID and I'll see what I can do to help.

What if I don't like the course?

The course comes with a 30 day money back guarantee. If you're not happy with the course, for any reason, you can reach out and I'll issue a full refund.

Do you offer team packages?

Sure thing! I offer team packages at discounted rates.

Email me at courses@codewithandrea.com for all the details.

I have another question!

Sure - email me at courses@codewithandrea.com and I'll reply within 48 hours.


Hello, I’m Andrea


My name is Andrea, I'm a Flutter GDE and I've been writing code professionally for over 12 years. I've been a mobile app developer since 2012, working for startups and big companies.

With my Flutter tutorials and courses, I've helped thousands of students become better developers.

By taking this course, you'll invest in yourself and fast-track your learning.