Android Development with Kotlin: 21 Real Projects

Learn Android with Kotlin and Jetpack Compose by building 21 real apps with full source code, expected output, tests and a Play Store release guide.

All levels · 42 lessons

Getting Started

  1. Android Development with Kotlin: Setup and Your First App - Install Android Studio, learn the project structure and Gradle, and run your first Kotlin and Jetpack Compose app on an emulator or phone.

Kotlin Basics

  1. Kotlin Basics: Variables, Types, Functions and Control Flow - Learn core Kotlin: val and var, types, string templates, if and when, loops, and functions with default and named arguments, with runnable samples.
  2. Kotlin Classes, Collections, Null Safety and Lambdas - Learn data classes, interfaces, list helpers like filter and map, null safety with ?. and ?:, and lambdas: the Kotlin skills every Android app uses.

Compose and State

  1. Jetpack Compose Basics and Project 1: Tip Calculator - Learn composable functions, Column, Row, modifiers, state and recomposition, then build a complete tip calculator app with a slider, a switch and a bill split.
  2. Project 2: To-Do List with ViewModel and LazyColumn - Build a to-do list app in Compose and learn ViewModel, StateFlow, LazyColumn with keys, state hoisting and unidirectional data flow with complete, working code.

Building Real Apps

  1. Project 3: Unit Converter with Dropdown Menus - Build an Android unit converter in Compose with dropdown menus, length, weight and temperature categories, validation and clean Kotlin logic.
  2. Project 4: Quiz App with Navigation Compose - Build a multi-screen quiz app with Navigation Compose: routes, arguments, the back stack and rememberSaveable state, with full source code.
  3. Project 5: Notes App with a Room Database - Build a notes app that saves data on the phone with Room: entity, DAO, Flow and a searchable ViewModel, with add, edit and delete in Compose.
  4. Project 6: Weather App with Retrofit and Coroutines - Build a weather app that loads live data from a free API with Retrofit, kotlinx serialization and coroutines, with loading, success and error states in Compose.
  5. Project 7: Expense Tracker with Room Totals - Build an expense tracker that stores money as cents, groups spending by category with SQL and shows live totals with Flow in Compose.

Advanced Apps and Release

  1. Project 8: Posts Reader with Images and Pull to Refresh - Build a posts reader with Retrofit and Coil: images from the internet, pull to refresh, search and a detail screen with Navigation Compose.
  2. Project 9: Habit Tracker with DataStore and Notifications - Build a habit tracker with streaks saved in Jetpack DataStore and a daily reminder using WorkManager and a notification, including the notification permission.
  3. Project 10 Capstone: Recipe Book with Hilt, Room and Retrofit - Build a capstone recipe app with clean layers: Retrofit search, Room favourites, Hilt injection and bottom navigation in Jetpack Compose.
  4. Testing and Performance for Android Apps - Learn Android testing: local unit tests, ViewModel tests with coroutines and Compose UI tests, plus tips to keep your app fast and crash-free.
  5. Release Your Android App: Signing, Play Store and Interviews - Prepare an Android app for release: signing, R8 shrinking, building an AAB, Google Play Console steps and common Android interview questions.

Kotlin and Android in Depth

  1. Kotlin OOP in Depth: Classes, Sealed Types, Generics, SOLID - Learn Kotlin OOP in depth: constructors, inheritance, interfaces, enums, sealed classes, objects, generics, delegation, visibility and SOLID.
  2. Advanced Kotlin: Scope Functions, Coroutines and Flow - Learn scope functions, extension and inline functions, then coroutines in depth: scopes, dispatchers, cancellation, async, Flow and StateFlow.
  3. Android Fundamentals: Activities, Services, Intents, Permissions - Understand Android basics: components, Activity and Fragment lifecycles, services, intents, permissions and configuration changes.

Architecture, Data and Networking

  1. Jetpack Compose in Depth: Layouts, Theming and Effects - Go beyond Compose basics: Scaffold, drawer, dialogs, grids, theming, side effects, derivedStateOf, animation and accessibility.
  2. Traditional Android UI: XML Layouts, RecyclerView, ViewBinding - Learn the XML view system still used in many jobs: ConstraintLayout, RecyclerView adapters, ViewBinding, styles and custom views.
  3. Android Architecture: MVVM, MVI, Clean Architecture, Modules - Compare MVC, MVP, MVVM and MVI, then learn Clean Architecture layers, repositories, use cases, Hilt and multi-module apps.
  4. Jetpack Libraries: Room Relations, Paging, Navigation and Offline-First - Use more Jetpack: Room relations and migrations, Paging 3, Navigation deep links, SplashScreen, CameraX and offline-first caching.

Production Android

  1. Networking in Depth: OkHttp, JWT, OAuth, Pagination - Go deeper on Android networking: OkHttp interceptors, JWT and OAuth, token refresh, pagination, uploads, pinning and GraphQL.
  2. Firebase for Android: Auth, Firestore, Storage, Push, Analytics - Add Firebase to Android: email and Google sign-in, Firestore, Storage, push messaging, Crashlytics, Remote Config and security rules.
  3. Android Security: Keystore, Biometrics, R8 and OWASP Mobile - Secure an Android app: Keystore encryption, biometric login, R8, safe communication and the main OWASP Mobile ideas.
  4. Background Work and Device Features: Location, Maps, Sensors, Payments - Learn WorkManager, foreground services and alarms, then location, Google Maps, camera, sensors, Bluetooth and payment basics.
  5. AI and Machine Learning in Android: Gemini, ML Kit, TFLite - Add AI to Android apps: call a model safely through a server, stream replies, use ML Kit and TensorFlow Lite, and use AI responsibly.
  6. Testing, Debugging and Performance in Depth - Go deeper on testing and speed: MockK, fakes, Compose and Espresso tests, LeakCanary, ANRs, Baseline Profiles and app size.
  7. Git, Gradle, CI/CD and Play Store Release in Depth - Learn Git workflows, Gradle Kotlin DSL, flavors, signing, GitHub Actions, Fastlane and the Google Play release process.
  8. Enterprise Android: Modules, WebSockets, i18n, Wear, TV, KMP - See large-team practice: multi-module apps, environments, WebSockets, localisation, accessibility, Wear OS, TV and Kotlin Multiplatform.

More Real-World Projects

  1. Project 11: Calculator App with an Expression Parser - Build a calculator in Kotlin and Compose with its own expression parser, correct order of operations, error handling, a keypad grid and unit tests.
  2. Project 12: E-Commerce App with Products, Cart and Checkout - Build a shopping app with a product grid from a free API, a Room cart that survives restarts, quantity controls, exact totals in cents and a demo checkout.
  3. Project 13: Real-Time Chat App with Firebase - Build a real-time chat app with Firebase Authentication and Cloud Firestore, live message updates as a Flow, security rules and push notification handling.
  4. Project 14: Fitness Tracker with Sensors and a Chart - Build a fitness tracker that counts steps with the step sensor, saves daily totals in Room, draws a weekly Canvas bar chart and asks for permission.
  5. Project 15: Food Delivery App with Order Tracking and Maps - Build a food delivery app with restaurants, menus, a cart, a live order status Flow and Google Maps showing the restaurant, you and a courier marker.
  6. Project 16: Music Player with Media3 and Background Playback - Build a music player with Media3 ExoPlayer and a MediaSessionService, so playback continues in the background with notification controls and a seek bar.
  7. Project 17: QR Code Scanner with CameraX and ML Kit - Build a QR and barcode scanner with CameraX preview, an ImageAnalysis analyzer, ML Kit barcode scanning, camera permission and safe handling of scanned links.
  8. Project 18: Banking-Style App with Secure Login and Biometrics - Build a banking-style app with secure login, a Keystore-encrypted token, biometric unlock, transaction history, transfer validation and screenshot protection.
  9. Project 19: AI Chatbot App with Streaming Replies - Build an AI chatbot app with streaming replies, Room history, a stop button, a fake service for testing and a safe design that keeps API keys on a server.
  10. Project 20: Video Streaming App with Media3 and HLS - Build a video streaming app with Media3 ExoPlayer and HLS, a PlayerView in Compose, lifecycle-safe playback, buffering and error states and a video list.
  11. Project 21: Job Portal App with Search, Filters and Resume Upload - Build a job portal client with a job list, search and filter chips, a detail screen, resume upload with file checks and a multipart application request.

Interview Preparation

  1. Android Developer Interview Questions and Answers - Android interview questions with short answers on Kotlin, Compose, coroutines, architecture, performance and system design.