Menu
CoddyTech
NewJourney

Learn Flutter App Development

A free, interactive Flutter course that starts from zero. Write real apps in Dart and run them on a phone screen beside the editor, with Hot reload, AI hints and a certificate per section.

1,000+ codders enrolled

219 lessons219 challenges297 quiz questions

  • Beginner friendly
  • sparkles iconAI-assisted coding help
  • hint iconHands-on interactive lessons
  • volume On iconAudio narration on every lesson
  • quiz iconQuizzes to test your knowledge
  • certificate iconFree certificate of completion

Syllabus

7 sections10 projects219 lessons219 challenges297 quiz questions
  1. Start sectionStartExpandCollapseYour first Flutter apps: what Flutter is, the widget tree, text and its style, colored boxes, padding, rows and columns, icons and images, and the Dart you need along the way. Ends with a business card app.

    Hello, Flutter

    6 lessons68

    Styling Text

    4 lessons45

    Dart Just in Time

    4 lessons45

    Boxes

    4 lessons44

    Rows and Columns

    6 lessons68

    Icons and Images

    5 lessons55

    Project: Business Card

    Project3 lessons33
  2. Start sectionStartExpandCollapseApps that answer back: buttons, functions and the Console, StatefulWidget and setState, const and final, decisions with if and booleans, text fields, switches, checkboxes and sliders, and the Dart behind them. Ends with a tip calculator app.

    Buttons

    5 lessons57

    Functions

    3 lessons35

    Widgets With State

    6 lessons610

    const and final

    2 lessons24

    Decisions

    5 lessons58

    Text Fields

    5 lessons57

    Switches and Sliders

    3 lessons34

    Project: Tip Calculator

    Project5 lessons56
  3. Start sectionStartExpandCollapseApps with more than one screen: scrolling lists and list tiles, cards and grids, your own Dart classes for your data, moving between screens and passing data along, tabs, a drawer and swipe to delete. Ends with a recipe book app.

    Scrolling Lists

    5 lessons58

    Lists From Data

    3 lessons34

    Cards and Grids

    3 lessons33

    Your Own Classes

    6 lessons611

    More Than One Screen

    5 lessons58

    Tabs, Drawers and Swipes

    5 lessons58

    Project: Recipe Book

    Project6 lessons67
  4. Start sectionStartExpandCollapseScreens that fit any phone: sharing a row with Expanded, Flexible and Spacer, reading and fixing the overflow error, Wrap, Stack and Positioned, SafeArea, maximum widths, screen sizes and breakpoints, enums and switch, app themes and dark mode. Ends with a music player screen.

    Sharing a Row

    4 lessons45

    The Overflow Error

    5 lessons56

    Stacking Widgets

    4 lessons45

    Sizes and Breakpoints

    4 lessons44

    Enums and switch

    3 lessons33

    Themes and Dark Mode

    5 lessons56

    Project: Music Player

    Project5 lessons55
  5. Start sectionStartExpandCollapseShare data between widgets and screens: lifting state up with values and callbacks, the Dart that model classes need, Provider with a ChangeNotifier, Riverpod with ConsumerWidget, StateProvider and Notifier, and when to use which. Ends with a shopping cart shared by two screens.

    Lifting State Up

    4 lessons48

    Dart for Models

    4 lessons48

    Provider

    7 lessons714

    Riverpod

    6 lessons612

    Project: Shopping Cart

    Project6 lessons68
  6. Start sectionStartExpandCollapseApps that wait for data: futures, async and await, loading spinners with FutureBuilder, errors with try and catch, JSON from a server turned into Dart classes, pull to refresh, and dates and prices with intl. Ends with a weather app.

    Futures

    4 lessons46

    Loading Screens

    5 lessons58

    When Calls Fail

    5 lessons56

    JSON

    5 lessons59

    Dates and Prices

    3 lessons33

    Project: Weather App

    Project5 lessons56
  7. Start sectionStartExpandCollapseFour complete apps built step by step with everything you have learned: a to-do list, a quiz, a store with a cart, and a habit tracker with streaks and dark mode. Each one ends as a polished app you can show people.

    Project: To-do List

    Project9 lessons910

    Project: Quiz

    Project9 lessons99

    Project: Store

    Project9 lessons99

    Project: Habit Tracker

    Project9 lessons99
What you get
Everything you'll use to learn to code

Learn by Doing

Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.

playground.js
Code Editor
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Build Your Streak

Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.

12 days streak

Return tomorrow to keep your streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Double or Nothing

Day 5 of 7

fire Freeze icon

Streak Freeze

2 left

You're Not Alone

Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!

Challenger League
Challenger LeagueTop 7 advance
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconPromotion zoneleaderboard Arrow Up icon

Every way to learn

Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.

Intro to Variables
Audio

A variable is a named container that stores a value you can reference later in your program.

In Python, you create one by writing the name, an equals sign, then the value you want to store.

The value can change over time. Reassigning the name simply points it to a new value.

1xSarah

Earn a Certificate

Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.

CoddyCertificate of Completion
This certifies thatJohn Doehas successfully completed
python iconPython Fundamentals
Verified
DateJan 2026
LinkedInAdd to LinkedIn

Why learn Flutter with Coddy

  • Your code and your app sit side by side. Press Run and the app is compiled on Coddy's servers and opens on a phone screen next to the editor, run by the Flutter web engine. Hot reload shows your change and keeps the app's state, and the Console shows print() output and errors. Press Check and the lesson is graded on what your app shows on screen.
  • No Flutter or Dart needed to start. The first section builds the widget tree from Text, colored boxes, padding, Row and Column, icons and images, and ends with a business card app. The second makes apps answer back: buttons, StatefulWidget and setState, const and final, text fields, switches and sliders, ending with a tip calculator.
  • Apps with more than one screen: scrolling lists, cards and grids, your own Dart classes, moving between screens, tabs, a drawer and swipe to delete. Then layouts that fit any phone: Expanded, Flexible and Spacer, the overflow error and how to fix it, Stack, SafeArea, breakpoints, themes and dark mode.
  • State and data the way real apps handle them: lifting state up, Provider with a ChangeNotifier, Riverpod with ConsumerWidget and Notifier, and when to use which. Then futures, async and await, FutureBuilder, try and catch, and JSON from a server turned into Dart classes, ending with a weather app.

Frequently asked questions about learning Flutter

Do I need to know Dart to learn Flutter?

No. Flutter apps are written in Dart, and this course teaches the Dart you need as you go: variables, functions, if, classes, async and await, each one when an app first needs it. No programming experience is needed to start.

Is it better to take a Dart course or start with Flutter?

If you want to build apps, start here: you write a Flutter app from the first lesson and learn Dart inside it. If you want the language on its own, for command line programs or deeper Dart, take the Dart course first, and this course will go faster after it.

Do I need Android Studio, an emulator or a phone?

No. Your app is compiled on Coddy's servers and runs on a phone screen in your browser, so there is no Flutter SDK to set up and no emulator to start. The course is on the website, in a computer's or a phone's browser, and not in the Coddy mobile apps. To publish an app for Android or iOS later, you install Flutter on your own computer, and the code you write here carries over.

What apps will I build in this Flutter course?

Each section ends with an app: a business card, a tip calculator, a recipe book, a music player screen, a shopping cart shared by two screens and a weather app. The last section builds four more, step by step: a to-do list, a quiz, a store with a cart and a habit tracker with streaks and dark mode.

Is the Flutter course free?

Yes. The lessons, the app preview, the AI hints and the certificates are free. A free account works through a few lessons a day, and Pro removes the daily limit.

Do I get a certificate for the Flutter course?

Yes. Each of the 7 sections gives you a free certificate of completion when you finish it, with its own page you can share or add to LinkedIn.
Coddy programming languages illustration

Learn Flutter with Coddy

GET STARTED