Home/Courses/Flutter Part 1: Foundations

Beginner, Green run Apps

Go from zero to your first Flutter app running on your own phone

The first step in a four-part series that takes you all the way to a published app on the App Store and Google Play. Learn Dart, widgets and layout properly, with 2 hours of 1:1 tutoring from George, a web and mobile app developer with over 10 years' experience.

Recording now. Join the waitlist and you will hear first, with an early-bird price.

8Modules
48Lessons
8.9 hoursVideo
2Hours of 1:1 included
BeginnerLevel
Full courseCapstone, exam and certificate

Sound familiar?

Most people who try to learn app development stall in the first week. The install fails, the emulator will not start, the tutorials assume you already know a programming language, and the code you copy works without you understanding why. Flutter is a great choice for building iOS and Android apps from one codebase, but only if the foundations are solid. This course starts at the very beginning and makes sure nothing is skipped.

What you'll build

A working tip and bill-splitting app with a custom theme, input fields, two screens and a responsive layout, running on an emulator and on your own phone. Along the way you will also build a set of small Dart exercises and practice layouts you can reuse in later parts.

By the end you'll be able to

  • Install Flutter, Android Studio and VS Code and fix the most common setup problems yourself.
  • Write Dart code using variables, collections, functions, classes and null safety.
  • Use async and await to handle work that takes time without freezing your app.
  • Explain how the widget tree works and choose between stateless and stateful widgets.
  • Build responsive, scrollable layouts with rows, columns, stacks and lists, and fix overflow errors.
  • Style an app consistently with themes, custom fonts, images and dark mode.
  • Collect user input, show dialogs and move between screens.
  • Run and debug your own app on an emulator and on a real phone.

Capstone project

Finish with something real

Build it on your own site, or a practice brief if you do not have one, and submit it for personal written feedback from George. Pass the capstone and the final exam to earn your certificate.

Who it's for

  • Complete beginners. you have an app idea or are simply curious, and want a patient, structured start without assuming you already code.
  • Web designers and developers. you build websites and want to add mobile apps to what you offer, starting with the fundamentals done properly.
  • Career changers. you are aiming for a junior developer role and want a modern, in-demand skill with real projects to show.
  • Small business owners. you want to understand how apps are built before you build or commission one.

Who it's not for

  • Experienced Flutter developers. Start at Part 3 or Part 4 instead, or book 1:1 time.
  • Anyone wanting a drag-and-drop app builder with no code at all.
  • People looking for a quick way to turn a website into an app without learning anything. Part 4 covers that properly, but it builds on Parts 1 to 3.
  • Anyone who cannot install software on their computer, such as some locked-down work laptops.

Curriculum

8 modules and 48 short lessons, about 8.9 hours of video. Every module ends with a quick quiz and an exercise on your own site.

01Welcome and setting up Flutter6 lessons, 67 mins

Install Flutter and its tools and run a starter app on an emulator.

  1. How this course works and how to book your 1:1 time7 min
  2. What Flutter is and why one codebase works for iOS and Android10 min
  3. Installing Flutter on Windows, macOS or Linux14 min
  4. Android Studio, the Android SDK and your first emulator13 min
  5. Setting up VS Code and reading flutter doctor11 min
  6. Creating and running your first project12 min
02Dart basics7 lessons, 78 mins

Write simple Dart programs using variables, collections, functions and null safety.

  1. Variables, types, final and const12 min
  2. Strings, numbers and booleans10 min
  3. Lists, maps and sets12 min
  4. Control flow: if, switch and loops11 min
  5. Functions, named and optional parameters12 min
  6. Null safety explained13 min
  7. Practising Dart in DartPad8 min
03Classes and asynchronous Dart6 lessons, 67 mins

Model data with classes and handle work that takes time with Future and await.

  1. Classes and constructors12 min
  2. Methods, getters and setters10 min
  3. Inheritance, interfaces and mixins in plain English13 min
  4. Enums and records9 min
  5. Async, Future and await14 min
  6. Handling errors with try and catch9 min
04Thinking in widgets6 lessons, 66 mins

Understand the widget tree and choose between stateless and stateful widgets.

  1. Everything is a widget: the widget tree11 min
  2. MaterialApp, Scaffold and AppBar10 min
  3. Text, Icon and Image widgets11 min
  4. Buttons and handling taps9 min
  5. StatelessWidget versus StatefulWidget13 min
  6. setState and how Flutter rebuilds the screen12 min
05Layout7 lessons, 79 mins

Build clean, scrollable layouts that work on small phones and large tablets.

  1. Row, Column and alignment13 min
  2. Container, padding and margins10 min
  3. Expanded, Flexible and SizedBox11 min
  4. Stack and Positioned9 min
  5. Scrolling with ListView and GridView14 min
  6. Fixing overflow errors10 min
  7. Responsive layouts for phones and tablets12 min
06Styling and themes6 lessons, 62 mins

Give an app a consistent look with themes, fonts, images and reusable widgets.

  1. Colours, ThemeData and Material 312 min
  2. Typography and custom fonts10 min
  3. Adding images and other assets10 min
  4. Light and dark mode9 min
  5. Reusable widgets for a consistent design12 min
  6. Platform differences: Material and Cupertino9 min
07User input, simple navigation and debugging5 lessons, 57 mins

Collect input from users, move between two screens and find bugs quickly.

  1. TextField and reading what users type12 min
  2. Checkboxes, switches and sliders9 min
  3. Dialogs, snack bars and bottom sheets11 min
  4. Moving between two screens12 min
  5. Debugging with hot reload, DevTools and logging13 min
08Your first app on a real phone5 lessons, 56 mins

Finish a small, useful app and run it on your own Android phone or iPhone.

  1. Project brief: a tip and bill-splitting app8 min
  2. Building the screens step by step16 min
  3. Running on your Android phone with USB debugging12 min
  4. Running on an iPhone: what you need and your options11 min
  5. Capstone, final quiz and what comes next in Part 29 min

Lesson lengths are estimates and may change slightly when the course is recorded. Every lesson is re-recorded or annotated when the tools change, free for everyone with an active course.

Everything included

  • 8 modules, 48 video lessons, about 8.9 hours
  • 2 hours of 1:1 live tutoring with George (use within 12 months)
  • Starter code, finished code for every module and a setup troubleshooting guide
  • Capstone project with personal written feedback
  • Final exam and certificate of completion
  • 12 months' access, including updates

Before you start

No coding experience needed. You need a Windows, macOS or Linux computer you can install software on, and ideally an Android phone or iPhone to test with.

Your tutor: George

George is a web developer and mobile app developer with over 10 years of experience. He leads the Flutter courses, answers your questions under every lesson, reviews your app and gives your included one-to-one tutoring.

More about George

Be first in when it opens

This course is being recorded now. Waitlist members hear first and get an early-bird price.

Flutter Part 1: Foundations

£379£758launch sale price

Leave your email and you will hear first when it opens, with an early-bird price for the waitlist.

Apps path bundle

£1,549£1,966 separately

Flutter Part 1: Foundations, Flutter Part 2: Real Apps, Flutter Part 3: Data and Payments, Flutter Part 4: Publish to the Stores, together. Save £417 on buying them one at a time.

See the bundle

Guarantee

30days money back

If the course is not right for you, ask for a refund within 30 days of purchase and we will refund you in full, less the value of any 1:1 tutoring time you have already used.

Refund policy

Questions about this course

Anything else? Send me a message or book a 30-minute taster lesson.

Do I need to know how to code already?

No. Part 1 teaches Dart, the language Flutter uses, from the beginning. If you have done some HTML, CSS or JavaScript you will find parts of it familiar, but it is not required.

Do I need a Mac?

Not for Part 1. You can do everything on Windows, macOS or Linux using an Android emulator or Android phone. Running on an iPhone needs a Mac, and Part 4 shows you how to build and publish for iOS without owning one.

How does the 1:1 tutoring work?

You get 2 hours of live 1:1 time with George, a web and mobile app developer with over 10 years' experience. Book it in one block or in shorter sessions at any point during your 12 months, and use it for anything from setup problems to a review of your own app.

Which version of Flutter does the course use?

We use the current stable release of Flutter when lessons are recorded and update the course as Flutter changes. Your 12 months' access includes those updates, and we flag any lesson where a newer version behaves differently.

Do I have to take all four parts?

No. Each part stands on its own and comes with its own capstone, exam and certificate. The parts are designed to be taken in order, so if you want to publish an app to the stores, plan to work through all four.

What if the course is not for me?

You have a 30-day money-back guarantee. We refund you in full, less the value of any 1:1 tutoring time you have already used.

Get on the list. Start first.

This course is being recorded now. Join the waitlist and you will be first to hear when it opens, at the £379 sale price (usually £758).