Philosophy: Learn Flutter by building real, useful apps. No theory-heavy lectures. Just code, build, understand.
8 progressive micro apps that teach Flutter from scratch through hands-on building.
- β No prerequisites - Start from zero
- β Learn by doing - Build real apps, not toy examples
- β Progressive - Each app introduces new concepts
- β Standalone - Complete in itself, no external courses needed
- β Practical - Apps you can actually use
What you'll learn: StatefulWidget, setState, Lists, ListView What you'll build: Counter that tracks all changes in a scrollable list
What you'll learn: Sliders, Colors, Multiple state variables What you'll build: RGB sliders with live color preview & hex code
What you'll learn: Text input, Local storage, Async operations What you'll build: Sticky note that auto-saves as you type
What you'll learn: Data models, JSON, Swipe gestures What you'll build: Full CRUD todo app with local persistence
What you'll learn: API calls, Network images, Loading states What you'll build: Fetch & display random dog images from API
What you'll learn: API keys, Complex JSON, Dynamic UI What you'll build: Real-time weather app with city search
What you'll learn: Date pickers, Dropdowns, Filtering, Calculations What you'll build: Track expenses by category with totals
What you'll learn: Timers, Duration, Audio playback What you'll build: 25/5 work/break timer with sound alerts
# Navigate to the consolidated project
cd /Users/gajanandsharma/ai-learnings/flutter/flutter_micro_apps
# Install dependencies
flutter pub get
# Run the app
flutter run -d chrome
# You'll see a home screen with tiles for all 8 apps!
# Tap any tile to launch that mini-appNEW: All apps are now in ONE single Flutter project!
flutter/
βββ README.md (you are here)
βββ micro-apps-curriculum.md (detailed guide for all 8 apps)
β
βββ flutter_micro_apps/ β Main Project (ALL apps here!)
βββ lib/
β βββ main.dart # Home screen with app tiles
β βββ apps/
β βββ p01_counter_with_history/
β β βββ index.dart # App implementation
β β βββ README.md # Detailed guide
β βββ p02_color_picker/
β βββ p03_quick_notes/
β βββ p04_todo_list/ # Coming soon
β βββ p05_dog_pictures/ # Coming soon
β βββ p06_weather_app/ # Coming soon
β βββ p07_expense_tracker/ # Coming soon
β βββ p08_pomodoro_timer/ # Coming soon
βββ pubspec.yaml # All dependencies
Legacy (separate projects - deprecated):
βββ p01_counter_with_history/ β οΈ Old structure
βββ p02_color_picker/ β οΈ Old structure
βββ p03_quick_notes/ β οΈ Old structure
- β Easier to manage - One project instead of 8
- β Shared dependencies - Add once, use everywhere
- β Easy navigation - See all apps on home screen
- β Better organization - Each app is just a folder
- β Cleaner repo - No duplicate Flutter boilerplate
- Run the main app -
flutter runto see the home screen with all apps - Choose an app - Tap any app tile to launch it
- Read the guide - Open the app's README.md for detailed explanation
- Study the code - Open the app's index.dart to see the implementation
- Experiment - Modify values, break things, fix them
- Move to next app - Builds on what you just learned
Start at App 1 even if you've never written Dart or Flutter before. The curriculum teaches you everything as you build.
- Each app: 45-120 mins
- Total: ~10 hours
- Recommended pace: 1-2 apps per week
- Result: Solid Flutter foundation in 1 month
App 1: Counter
ββ> Learn: StatefulWidget, setState, Lists
App 2: Color Picker
ββ> NEW: Sliders, Colors, Multiple state
ββ> Practice: StatefulWidget, setState
App 3: Quick Notes
ββ> NEW: Text input, Local storage, Async
ββ> Practice: StatefulWidget, setState
App 4: Todo List
ββ> NEW: Models, JSON, Gestures
ββ> Practice: Text input, Local storage, Lists
App 5: Dog Pictures
ββ> NEW: HTTP, Network images, Loading
ββ> Practice: Async operations
App 6: Weather
ββ> NEW: API keys, Complex JSON
ββ> Practice: HTTP, Loading, Text input
App 7: Expenses
ββ> NEW: Pickers, Dropdowns, Filtering
ββ> Practice: Models, JSON, Storage
App 8: Pomodoro
ββ> NEW: Timers, Audio
ββ> Practice: StatefulWidget, DateTime
- β Widgets (Stateless & Stateful)
- β Layouts (Column, Row, ListView)
- β State management (setState)
- β Navigation
- β Lifecycle (initState, dispose)
- β TextField (single & multi-line)
- β Buttons
- β Sliders
- β Checkboxes
- β Dropdowns
- β Date pickers
- β Lists (add, remove, update, filter)
- β Models & classes
- β JSON serialization
- β Local persistence (shared_preferences)
- β HTTP requests
- β JSON parsing
- β Loading states
- β Error handling
- β Network images
- β Timers
- β DateTime & Duration
- β Audio playback
- β Gestures (swipe, tap)
- β Debouncing
- Navigate to
flutter_micro_apps/directory - Run
flutter pub getto install dependencies - Run
flutter run -d chrometo launch the app - Tap any app tile to explore it
- Read the app's README.md for detailed explanation
- Study the app's index.dart for implementation
- Experiment and learn!
- Open
micro-apps-curriculum.mdfor comprehensive guides - Read each app section completely
- Study the implementation in
flutter_micro_apps/lib/apps/ - Modify and experiment with the code
- Move to the next app
- Type every line - Don't copy-paste. Muscle memory matters.
- Test frequently - Run after every small change
- Understand before moving on - Don't rush
- Experiment - Change values, break things, fix them
- Take breaks - Let concepts sink in between apps
- Build in order - Each app teaches prerequisites for the next
- Flutter SDK installed
- Code editor (VS Code recommended)
- Chrome (for web testing) or device emulator
- 10 hours of focused time
After building these, you'll have:
- β Personal note-taking app
- β Todo list
- β Expense tracker
- β Pomodoro timer for productivity
Deploy them to your phone and use them daily!
cd flutter_micro_apps
flutter pub get
flutter run -d chromeTap the "Counter with History" tile to start with App 1!
The best way to learn Flutter is to build. Let's go! πββοΈπ¨