Welcome to the 30-Day Flutter Challenge β a hands-on daily journey designed to sharpen your Flutter skills, master widgets, and build real-world projects. Whether you're aiming to build your portfolio or simply stay consistent, this challenge is for you!
Day | Challenge | Widgets & Concepts |
---|---|---|
1 | Personal Business Card UI | Container , Row , Column , CircleAvatar , Text |
2 | Simple Calculator App | Buttons , GridView , onPressed , setState |
3 | Timer UI (Countdown only) | CircularProgressIndicator , Text , IconButton |
4 | Login Page UI | Form , TextFormField , ElevatedButton , validation |
5 | To-Do List (UI only) | ListView.builder , CheckboxListTile , Dismissible |
6 | Digital Clock | Timer.periodic , DateTime.now() , setState |
7 | Dice Roller App | Image , Random , setState , GestureDetector |
Day | Challenge | Widgets & Concepts |
---|---|---|
8 | Counter with Steps | FloatingActionButton , setState , Snackbar |
9 | Simple Calendar | TableCalendar (package), ListView , Events |
10 | Load Fake Articles from JSON | ListTile , FutureBuilder , http |
11 | Light/Dark Theme Switcher | Provider , ThemeData , Switch |
12 | Age Calculator | DatePicker , DateTime , Duration |
13 | Settings Page | Switch , Radio , SharedPreferences |
14 | Weekly Project: Simple Notes App | TextField , ListView , Provider or setState |
Day | Challenge | Concepts |
---|---|---|
15 | Local Image Gallery | GridView , Image.asset , Hero |
16 | Fake Chat App | ListView , Chat Bubbles, TextInput |
17 | Weather from API | http , FutureBuilder , API Key |
18 | Carousel Slider | PageView , DotsIndicator , Animation |
19 | Prayer Times from API | http , JSON , ListView |
20 | Number Guessing Game | Random , AlertDialog , if-else |
21 | Weekly Project: Recipes App | ListView , Image.network , Navigator |
Day | Challenge | Concepts |
---|---|---|
22 | Firebase Auth Integration | firebase_auth , Login/Signup |
23 | Save Notes to Firestore | cloud_firestore , CRUD |
24 | Custom UI Shapes | CustomPainter , ClipPath |
25 | Weekly Project: ToDo + Login | Auth + ToDo + UI |
26 | Adding Animations | AnimatedContainer , Hero , Lottie |
27 | Onboarding Screen | PageView , Skip, Get Started |
28 | Image Upload with Firebase | image_picker , firebase_storage |
29 | UX Improvements | Loaders, Toasts, Snackbar, Skeleton |
30 | β Final Project: Expense Manager App | Data saving, login, full UI design |
- Flutter & Dart
- Firebase (Auth, Firestore, Storage)
- Shared Preferences
- HTTP APIs
- Provider State Management
- Animations & Custom Widgets
- Take one challenge per day.
- Push your code daily to your GitHub repo.
- Optionally share your progress on LinkedIn or Twitter with #Flutter30DayChallenge.
- Customize challenges to fit your needs!
- Stay consistent, even if only for 30 minutes a day.
- Donβt be afraid to Google or ask for help.
- Focus on completing each project rather than perfecting it.
- Review and refactor your older code weekly.
Feel free to fork this repo and start your journey today! π