25 lessons help you to steer your own app in the right direction.
After you unlockThe plan starts the day you buyOne task a day, each linked straight to its lesson
Completed0/31
01.01Kiểm tra readiness và lịch làm việcFreeUp next→ Hiểu readiness như năng lực giữ nhịp làm việc trong đời sống thật, thay vì một cơn hứng khởi trước khi viết code.15 min
01.02Tìm những vấn đề nhỏ có tín hiệu tích cựcFree→ Nhìn một ý tưởng như giả thuyết vấn đề: persona, pain point, cách xử lý thay thế và tín hiệu trả tiền.20 min
01.03Tìm kiếm Aha moment cho user→ Biến pain point đã chọn thành khoảnh khắc người dùng nhận ra dùng app tốt hơn cách cũ.25 min
01.04Thiết kế offer trước khi xây feature→ Biến Aha moment thành một offer công bằng: giá trị cốt lõi đến trước, premium mở rộng sau.20 min
01.05Đừng chờ đợi tự tin. Bạn đã có đủ để bắt đầu.→ Xâu chuỗi nhịp bền, vấn đề thật, Aha moment và offer rõ thành một quyết định dũng cảm để bắt đầu.25 min
02.01Đừng để user phải hỏi: “Giờ mình đi đâu?”Free→ Chọn cách dẫn đường dựa trên ý định của user để mỗi điểm đến và nhãn gọi đều có lý do.25 min
02.02Khi nào app được phép ngắt nhịp user?→ Chọn đúng mức độ ngắt nhịp và viết micro-copy rõ ràng để app bảo vệ sự tập trung của user.25 min
02.03Tại Sao App Bạn Cần Chạy MƯỢT?→ Dùng chuyển động, rung phản hồi và hiệu ứng thị giác như tín hiệu sản phẩm: làm rõ điều vừa xảy ra, giữ đúng cảm xúc và không đòi thêm sự chú ý.25 min
02.04User Của Bạn Không Dùng App Cùng 1 Tư Thế→ Thiết kế trải nghiệm theo bối cảnh dùng: giữ nhiệm vụ và thứ bậc nội dung rõ ràng trên màn hình dọc, ngang và tablet.20 min
02.05Làm Gì Khi Người Dùng Rời App?→ Biến notification, những lúc không có mạng và backup/restore thành một lời hứa liên tục về sự tôn trọng thời gian, dữ liệu và momentum của user.20 min
00.01Install Git, Android Studio, and SDKFreeUp next→ Prepare Git and the Android tooling required to clone, open, and build the course app.10 min
00.02Clone the Repo and Open the Project for the First TimeFree→ Open the real production app project instead of a toy starter project.12 min
00.03Service Account ChecklistFree→ Know which external accounts are required and why each one exists.14 min
00.04Set Up Supabase SQL, Auth Secrets, and FirebaseFree→ Prepare the backend tables, auth configuration, and Firebase Android project needed before the first serious app run.18 min
00.05First Build, First Test, First CommitFree→ Create the first safe checkpoint before architecture lessons begin.12 min
01.01Read the Module Graph→ Read a project as a system instead of a pile of folders.6 min
01.02How an Android App Starts Up→ Understand every checkpoint the app passes from icon tap to first screen.6 min
01.03Feature Discovery and Navigation Boundaries→ Understand why feature modules appear in the app without manual wiring, and how they navigate without coupling.8 min
01.04Layer Responsibilities and Reading File Names→ Stop mixing UI, business logic, and backend code. And learn to guess where a file lives from its name alone.7 min
01.05Make Your First Safe Change→ Know what is real and what is mocked, then change the codebase yourself without breaking a single boundary.10 min
02.01Design Immutable UI Models→ Model a screen with explicit immutable state, then edit the state contract with your own hands10 min
02.02Model User Intent with Sealed Actions→ Turn UI events into a clear action vocabulary you can log and extend to see the payoff.10 min
02.03How Do You Control Recomposition?→ Why Menu can skip recomposition: stability and strong skipping.8 min
02.04Compose Screens from State→ The route owns the wiring, the content composable only renders state. And why not put a Toast in state?12 min
02.05Reuse Theme and UI Components→ Build UI without breaking consistency, then upgrade it yourself and update a token across the whole app.10 min
03.01Understand Why Reducers Help→ Understand when a reducer beats multi-branch UI logic.10 min
03.02Design State, Action, Effect, and AsyncOp→ Learn the app's state-machine vocabulary through the DRE pattern.10 min
03.03Read the Game State Machine: The Real Reducer Power→ Read a real reducer in the Game State Machine, tracing an action to new state, one-time effects, and follow-up work.12 min
03.04Wire the ViewModel With the DRE Store→ Understand the ViewModel's role in the DRE architecture pattern.12 min
03.05Keep Side Effects Outside Reducers→ Keep navigation, analytics, API calls, and snackbars out of pure transitions.12 min
04.01Read Domain Use Cases→ Understand use cases as the app business API.5 min
04.02Separate Repository Contracts and Data Implementations→ Separate domain contracts from backend details.6 min
04.03Trace Supabase Auth Flow→ Trace sign-in and session state through the app.6 min
04.04Swap Your AI Provider With One Line of Code→ When the contract sits in the right place, swapping providers is fast, testable, and touches nothing else.12 min
04.05Composition Root - Where Providers Are Defined→ You start seeing how the code is organized, and find the one place that knows both contract and implementation.10 min
05.01Test Reducers and Use Cases→ Start testing where tests are fastest and most valuable.5 min
05.02Test Flows and ViewModels→ Test state emissions without manual UI tapping.6 min
05.03Shrink and Guard the Release Build→ Understand why the release build is not the build you tested, and what R8 does to an Android release.5 min
05.04Protect Secrets at Build Time→ Understand realistic mobile secret handling.5 min
05.05Run a Release Readiness Check→ Test all 3 steps, tick off your checklist, and dare to hit the ship button5 min
06.01Clean Architecture Overview→ Clean Architecture Overview - Mobile Action Pro Course25 min
06.02The 4-Layer Architecture Pattern→ The 4-Layer Architecture Pattern - Mobile Action Pro Course25 min
06.03Gradle Multi-Module Structure→ Gradle Multi-Module Structure - Mobile Action Pro Course25 min
06.04Interface-Based Design→ Interface-Based Design - Mobile Action Pro Course25 min
06.05The Repository Pattern→ The Repository Pattern - Mobile Action Pro Course25 min
06.06The UseCase Pattern→ The UseCase Pattern - Mobile Action Pro Course25 min
06.07Managers for Complex Orchestration→ Managers for Complex Orchestration - Mobile Action Pro Course25 min
06.08Data Flow Patterns→ Data Flow Patterns - Mobile Action Pro Course25 min
06.09Testing Each Layer→ Testing Each Layer - Mobile Action Pro Course25 min
06.10Dependency Injection with Interfaces→ Dependency Injection with Interfaces - Mobile Action Pro Course25 min
06.11Mapping Between Layers→ Mapping Between Layers - Mobile Action Pro Course25 min
06.12Best Practices & Anti-Patterns→ Best Practices & Anti-Patterns - Mobile Action Pro Course25 min
07.01Dependency Injection Basics→ Dependency Injection Basics - Mobile Action Pro Course25 min
07.02Inversion of Control→ Inversion of Control - Mobile Action Pro Course25 min
07.03Koin Overview→ Koin Overview - Mobile Action Pro Course25 min
07.04Koin DSL - module, single, factory→ Koin DSL - module, single, factory - Mobile Action Pro Course25 min
07.05Koin ViewModel Scope→ Koin ViewModel Scope - Mobile Action Pro Course25 min
07.06Dependency Resolution with get()→ Dependency Resolution with get() - Mobile Action Pro Course25 min
07.07Multi-Module Architecture→ Multi-Module Architecture - Mobile Action Pro Course25 min
07.08Core Module Setup→ Core Module Setup - Mobile Action Pro Course25 min
07.09Feature Module Pattern→ Feature Module Pattern - Mobile Action Pro Course25 min
07.10Dynamic Feature Discovery→ Dynamic Feature Discovery - Mobile Action Pro Course25 min
07.11ViewModel Injection in Routes→ ViewModel Injection in Routes - Mobile Action Pro Course25 min
07.12Testing with Koin→ Testing with Koin - Mobile Action Pro Course25 min
Kotlin Accelerator Source CodeA modern Android trivia game inspired by Who Wants to Be a Millionaire?.
Built with Kotlin 2.3.0, Jetpack Compose 2025.12.01, Koin 4.1.1, and Supabase 3.2.6 backend for a seamless quiz experience with AI-powered lifelines, leaderboards, and persistent user profiles.
Flutter Cross Platform CodebsaeThe source follows a lightweight MVVM shape. Widgets render state, ViewModels coordinate user actions and async work, and repositories hide local persistence or Supabase details behind small contracts.
NEWNew resources are on the wayUpdated continuouslyNew templates, checklists and source will show up right here.