Learn Flutter.Zero to production.Free.

A complete, structured path from programming fundamentals to full‑stack Flutter apps.

Start learning →
main.dart
void main() {
final app = App();
await app.run();
}
user.dart
class User {
final String name;
final int age;
User({this.name, this.age});
String greet() =>
'Hello, $name!';
}
server.dart
import 'dart:io';
Future<void> main() async {
final server = await
HttpServer.bind('localhost', 8080);
// server ready on port 8080
}
the problem
Outdated.Unstructured.Unfinished apps.

You're not the problem. We fixed that.

what this is

Your Complete
full-stack
Dart Roadmap.

The only open-source curriculum that takes you from fundamentals to full‑stack Dart & Flutter and levels you up toward senior.

the roadmap

Learn one language. Become Full-stack.

From zero to full‑stack apps — frontend, backend, mobile, web, desktop. All in Dart.

START HERE

Learn Dart Fundamentals

Learn the Dart programming language from scratch.

Start course
MODULE 02

Object Oriented Programming

Object-oriented programming concepts with Dart and Flutter.

Start course
MODULE 03

100 Days of Flutter (in progress)

Master Flutter development in 100 days with hands-on projects.

Start course
MODULE 04

SOLID Principles

Learn the SOLID principles and how to apply them in Dart and Flutter.

Start course
why it's different

Not another Flutter course.
A full‑stack Dart curriculum.

Hello World
Variables
Data Types
Strings & Interpolation
Operators
Control Flow

Structured, step by step.

Go from Dart basics to a deployed app in order. No guessing what to learn next.

/uiDart
/stateDart
/apiDart
/dbDart

One language, end to end.

Frontend. Backend. All in Dart. Stop context-switching between five different tools.

Dart fundamentals
Done
OOP refactor
Done
Flutter UI
In progress
REST API + DB
100 Days
Real-time chat
100 Days
Full-stack capstone
Capstone

Learn by building.

Real-world projects, not counter apps. Solve challenges. Ship something.

YOStuck on #learn-dart — my late field crashes on null. Help?
MClassic — a late var must be set before first read. Initialize it in the constructor.
RV+1. I had the same bug last week.

You're not alone.

Community mentors answer questions. 1-on-1 mentorship available when you need it.

community

Stuck? You're not alone.

Ask. community members answer your questions.

Join community →
start today

Start learning.

Free to start. Free to finish.

Start learning →