1 / 13

Flutter Mobile
App Development

Your 14-week journey from zero to a production-ready mobile app.

DartFlutterRiverpodFirebaseReal apps only
Your mentor
Aayush
Aayush Bhattarai
Senior Flutter Developer
AI Agent Engineer
🌐 heyaayush.com
EXPERIENCE
6+ Years
Dart, Flutter & Mobile
🇳🇵 Kathmandu, Nepal
WHO I AM

I'm a Senior Flutter developer working with Dart, Flutter and mobile development for the last 6+ years. I build AI systems, mobile apps, and production software — things real people use every day.

THINGS I'VE BUILT
StockYan
NEPSE market app
Aidols
Social + reels app
Boia Stories
Short-form video editor
Gigways
Mileage tracker app
JARVIX
Desktop AI assistant
🏦
Banking Apps
Fintech · Nepal

Most courses show you widgets. I'll show you how to think about apps — state, data flow, architecture, and why things break in production at 2am. That's the difference.

Let's get to know each other

Who are you?

Introduce yourself — your name, one thing you love outside tech, and pick your current programming level below.

0

Complete Beginner

Never written code before — that's totally fine!

1

Some Basics

HTML, CSS, a bit of Python or JavaScript

2

Knows OOP

Classes, functions, loops — one language comfortably

3

Experienced Dev

Backend, web or mobile — exploring Flutter now

📌 Wherever you are is the right starting point. This course builds from the ground up — no one gets left behind.

Introduction

What is Flutter?

Flutter is a free toolkit made by Google. The big idea? Write your code once, deploy it everywhere.

❌ WITHOUT FLUTTER
🤖 Android App
Write in Kotlin / Java — separate codebase
🍎 iOS App
Write in Swift — another separate codebase
🌐 Web App
Write in JavaScript — yet another codebase
3 teams · 3 codebases · 3x cost
✅ WITH FLUTTER
💙 One Flutter Codebase
Written in Dart — once
↓ compiles to
🤖 Android
🍎 iOS
🌐 Web
🪟 Windows
1 team · 1 codebase · much less cost

🇳🇵  Most Nepal fintech apps, wallets & startups use Flutter. One developer can cover Android and iOS simultaneously.

The core relationship

Dart Flutter

Two different things that work together. Understanding this from day one saves a lot of confusion.

🎯

Dart

PROGRAMMING LANGUAGE

Dart is the language you write your code in. It's the words and grammar you use to give the computer instructions.

SIMPLE ANALOGY

Dart is like Lego bricks — the individual pieces you use to build things.

💙

Flutter

UI FRAMEWORK

Flutter is the framework that takes your Dart code and turns it into buttons, screens, and animations on any device.

SIMPLE ANALOGY

Flutter is like the Lego instruction manual — it tells you exactly how to arrange those bricks into a finished spaceship (your app).

You write
Dart code
Flutter builds
your app UI
Users get
a real app 🎉
One codebase, everywhere

Flutter runs on 6 platforms

Write your Dart code once. Flutter compiles it natively for every platform — no rewrites, no separate teams.

💙
Flutter
+ Dart
🤖
Android
🍎
iOS
🌐
Web
🪟
Windows
💻
macOS
🐧
Linux

In this course we focus on Android + iOS — the core mobile targets.

How it all fits together

Flutter + Dart = Your App

Here's the simple mental model for this entire course.

Your App Code

Screens, buttons, logic — written in Dart

🧑‍💻
Flutter Framework

Widgets, animations, navigation — Flutter handles this

💙
Dart Language + Runtime

The engine that compiles and runs everything efficiently

🎯
Native Platform

Android or iOS — Flutter talks to the OS for camera, GPS, storage

🤖 🍎

You write Dart, Flutter translates it into a beautiful native app.

Reality check

What app dev actually looks like

WHAT BEGINNERS THINK
🎨
Design a nice screen
⌨️
Write some widgets
🤔
Done??
WHAT PRODUCTION REQUIRES
01
Loading, empty, error & offline states
02
State that survives navigation + restarts
03
Auth flows — login, sessions, token refresh
04
API calls with retries, caching, error handling
05
Tests so you can sleep at night
06
Play Store signing, crash reporting, release

This course teaches all of it — not just the happy path. That's the difference between a tutorial and a real developer.

The plan

Your 14-week journey

Phase 1 · Wks 1–4

Foundations

Dart, widget basics, layout, Material 3 UI

40 hrs
Phase 2 · Wks 5–7

State & Navigation

Riverpod, GoRouter, forms, APIs, architecture

30 hrs
Phase 3 · Wks 8–11

Data & Firebase

Firebase auth, Firestore, offline, device features

40 hrs
Phase 4 · Wks 12–14

Release & Career

Testing, profiling, capstone, Play Store, interviews

30 hrs

Stack: Dart → Flutter → Riverpod → GoRouter → Firebase  ·  140 contact hours total

Mon–Fri: 2 hrs class + 2 hrs self-study  ·  Saturday: open classroom for project work

Wk 1–4
Wk 5–7
Wk 8–11
Wk 12–14
Flutter in the wild · Nepal & beyond

Apps you might already use

Real apps, real users. The skill you're learning this week powers all of them.

💳

eSewa / Khalti

Nepal's most-used digital wallets — Flutter powers the smooth cross-platform UI.

🇳🇵 Nepal · Fintech
🏦

NIC Asia & Local Banks

Several Nepali banks ship their mobile banking apps using Flutter for speed and consistency.

🇳🇵 Nepal · Banking
🛵

Pathao / InDrive

Ride-hailing and delivery in Kathmandu — Flutter for the rider & driver-side apps.

🇳🇵 Nepal · Mobility
💳

Google Pay

Billions of daily transactions. Google rebuilt it entirely in Flutter.

🌍 Global · Google
🛒

Alibaba Xianyu

50M+ users — one of the first large-scale Flutter deployments. Proved it works.

🌍 Global · Commerce

Your App · Week 14

A real, releasable Flutter app — built by you, explained by you, owned by you.

🇳🇵 Nepal · Made by You
Hands-on · Let's get set up

Installation step by step

Pick your OS and follow each step in order. We do this together.

🪟 Windows
🍎 macOS
1
Install Git for Windows

Download from git-scm.com and run the installer. Keep all defaults.

✓ Verify: open PowerShell and type: git --version
2
Clone Flutter via Git

Open PowerShell and run:

# clone into C:\flutter
git clone -b stable https://github.com/flutter/flutter.git C:\flutter

This takes a few minutes — Flutter is downloading.

3
Add Flutter to PATH (permanent)

Search Environment Variables in Start menu → Edit system environment variables → Path → New → type:

C:\flutter\bin

Click OK → restart PowerShell

4
Verify everything works
# should print Flutter version
flutter doctor

Android toolchain warning is OK for now — ignore it.

5
Create & run a Dart project
# create a Dart console app
dart create hello_dart
cd hello_dart
dart run
# you should see: Hello world!
6
Create & run a Flutter project 🎉
# go back to root first
cd ..
flutter create hello_flutter
cd hello_flutter
flutter run
# counter app opens on device!
1
Install Xcode tools (gets Git)

Open Terminal (Cmd + Space → Terminal) and run:

xcode-select --install
# click Install in the popup
✓ Verify: git --version
2
Clone Flutter via Git
git clone -b stable \
  https://github.com/flutter/flutter.git \
  ~/flutter

This downloads into your home folder ~/flutter.

3
Add to PATH permanently

This writes the path into ~/.zprofile so it works in every future terminal:

# write to ~/.zprofile (permanent)
echo 'export PATH="$HOME/flutter/bin:$PATH"' \
  >> ~/.zprofile

# apply right now in this session
source ~/.zprofile

✓ Now works in every new terminal you open.

4
Verify everything works
# should print Flutter version
flutter doctor

Xcode warnings are fine for now. Android toolchain too.

5
Create & run a Dart project
# create a Dart console app
dart create hello_dart
cd hello_dart
dart run
# you should see: Hello world!
6
Create & run a Flutter project 🎉
# go back first
cd ..
flutter create hello_flutter
cd hello_flutter
flutter run
# counter app opens on device!
Before you leave today

Your Day 1 mission

Three things. Complete all of them before you go home today.

01

Run your first Flutter app

See the counter? Tap +. That's real Flutter code running on your device. Yours.

02

Push your first repo to GitHub

Create a repo called flutter-tr06 and push today's project. Portfolio commit #1.

03

Write a Dart hello world on DartPad

Open dartpad.dev → declare a variable → print your name. Tomorrow's preview.

The journey of 140 hours begins with a single flutter run 🚀

🙋

Any Questions?

No question is too basic. If you're confused, someone else in the room is too. Ask now.

NEXT CLASS · WK 1 DAY 2
Variables, Types & Dart Basics
We start writing real Dart code
BEFORE NEXT CLASS
dartpad.dev → Language Tour
Variables & control flow section

Now go run that flutter run 🚀