Flutter Animations Masterclass - Full Course

Build a completely custom habit tracking application.

Flutter animation APIs are very powerful. Learn how to use them to delight your users and make apps that stand out, just like this one:

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.

  • ⭐️⭐️⭐️⭐️⭐️

    Andrea is an excellent instructor and developer. Very thankful he takes the time to create these courses and maintain his YouTube tutorials.

    The way Andrea codes reveals a lot of best practices, good app architecture, and interesting techniques; his source code is very clean and logical.

    In my opinion, this gives him a unique advantage versus other online instructors who write code to illustrate a point but often shortcuts are taken or it is not production quality.

    There are more intermediate level tips I don't see other devs covering. Thanks so much Andrea!!

    Niven Shah

What's inside

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

Note: The course is currently available for Early Access. By enrolling today you'll get the first 5 modules, along with all the remaining content in the coming weeks.

  • 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

    More Explicit Animations

    More eye-candy with custom UI and animations:

    • Synchronized slide in/out animation
    • Theme selection and persistence with Hive
    • Working with Tweens to animate Opacity and Scale
    • Staggered Animations
  • Module 9

    Advanced Theming

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

    • Basic theming with Theme & InheritedWidget
    • Light and Dark mode
    • Creating a custom app theme
    • Theme animation with AnimatedTheme and ImplicitlyAnimatedWidget
  • 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

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

  • Implementation

    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.

  • ⭐️⭐️⭐️⭐️⭐️

    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

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.

Get the Animations Masterclass

Choose the package that works for you.

The Complete Package

USD(VAT may apply)
(Early Access price)
  • All 10 modules, totaling 7 hours of video (4.5 hours today + rest by the end of June)
  • Lifetime Access + All Future Updates
  • Bonus Articles and Videos
  • Full Source Code
  • Premium Support
  • Completion Certificate

The Essentials

USD(VAT may apply)
  • First 4 modules, totaling 3 hours of video
  • Lifetime Access
  • Full Source Code
  • Premium Support

Frequently Asked Questions

  • When will the full course be available?

    Currently the course contains 7 modules and 4.5 hours of video. New content is added weekly and the full course should be ready around the end of June.

  • How long is the course?

    The course will include 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 and right now my main focus is on completing all the course content. Once the full course is ready you can send me an email 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.

  • I have another question!

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

About Me

Andrea Bizzotto

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, agencies, and big companies.

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

I know what it takes to become a great Flutter developer. This course will help you fast-track your learning and upgrade your Flutter skills.