All 60 tasks, level by level
The real graded Android App Development tasks the portal assigns, grouped into three levels.
The portal assigns these Android App Development tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.
Level 1: Foundations (24 tasks)
| Task | What to do |
|---|---|
| Set up Android Studio | Install Android Studio, create an emulator and run a Hello World app. Commit the project to a repo named android-internship. |
| Kotlin basics | Write Kotlin examples for variables, null safety, data classes, when, collections and lambdas. |
| Project structure | Explain the manifest, Gradle files, resources and the main activity of a new project. |
| First Compose screen | Build a profile screen with Jetpack Compose using Column, Row, Image, Text and Button. |
| State in Compose | Build a counter and a text field form that react to state with remember and mutableStateOf. |
| Lists | Show 100 items in a LazyColumn with a click action on each item. |
| Navigation | Add three screens with Navigation Compose and pass an argument between two of them. |
| Material Design 3 | Apply a Material 3 theme with colours, typography and dark mode support. |
| Activity lifecycle | Log every lifecycle callback, rotate the device and explain what happens to state. |
| Resources and localisation | Move every string to strings.xml and add Tamil or Hindi translations. |
| Toasts, snackbars and dialogs | Show feedback to the user in three ways and explain when to use each. |
| Build an APK | Build a debug APK, install it on a real phone and share a screenshot. |
| Kotlin coroutines basics | Write examples of launch, async, delay and structured concurrency. |
| Kotlin collections practice | Solve 10 problems with Kotlin collection functions (map, filter, groupBy, fold). |
| Custom Compose components | Build reusable components (a rating bar, a chip group) with parameters. |
| Compose previews | Add previews with different themes, font sizes and sample data. |
| Forms and keyboard | Build a form with proper keyboard types, IME actions and validation. |
| Bottom navigation | Add a bottom navigation bar with three destinations that keep their state. |
| App icon and splash | Create an adaptive app icon and use the SplashScreen API. |
| Intents | Share text, open a web page and dial a number using intents. |
| Logging and Logcat | Use Logcat filters to debug your app and remove logs from release builds. |
| Gradle version catalogs | Move dependencies to a libs.versions.toml version catalog. |
| Edge-to-edge UI | Make your app draw edge-to-edge with correct insets. |
| Animations in Compose | Add animated visibility, content size and a simple transition. |
Level 2: Building real features (20 tasks)
| Task | What to do |
|---|---|
| MVVM with ViewModel | Refactor your app to use a ViewModel with StateFlow and explain why state survives rotation. |
| Networking with Retrofit | Load data from a public API with Retrofit and coroutines, with loading and error states. |
| Images | Load remote images with Coil, with a placeholder and an error image. |
| Local database with Room | Save favourites in a Room database and show them on a separate screen. |
| DataStore preferences | Store user settings (theme, language) with DataStore. |
| Dependency injection | Add Hilt and inject your repository and API service. |
| Permissions | Request camera or location permission correctly and handle denial gracefully. |
| Background work | Schedule a periodic sync with WorkManager and show a notification when it finishes. |
| Unit tests | Write unit tests for your ViewModel and repository with fake data sources. |
| Firebase integration | Add Firebase Authentication (email or Google sign-in) to your app. |
| Paging 3 | Load a long API list with Paging 3 and show loading and error footers. |
| Search with Flow | Build search using Flow operators (debounce, distinctUntilChanged, flatMapLatest). |
| Camera and images | Take a photo with CameraX or the system picker and display it. |
| Location | Show the user's location and distance to a point with fused location. |
| Maps | Show places on a map with markers using Google Maps Compose. |
| Clean architecture layers | Split your app into data, domain and UI layers with use cases. |
| Multi-module project | Split features into Gradle modules and explain the benefits. |
| Error handling | Show friendly messages for network, server and empty states everywhere. |
| Analytics and crash reporting | Add Firebase Analytics events and Crashlytics. |
| Deep links | Open a specific screen from a link with Navigation deep links. |
Level 3: Professional work and capstone (16 tasks)
| Task | What to do |
|---|---|
| Offline-first app | Make your app show cached data offline and sync with the API when back online. |
| UI tests | Write Compose UI tests for the main screens and run them on an emulator. |
| Performance | Profile your app with Android Studio's profiler, fix one slow screen or memory leak, and record the result. |
| Accessibility | Add content descriptions, larger touch targets and TalkBack support, and test with TalkBack on. |
| Push notifications | Send push notifications with Firebase Cloud Messaging and open the right screen on tap. |
| Release build | Create a signed release AAB with R8 shrinking and explain what each step does. |
| CI for Android | Add GitHub Actions that build the app and run tests on every push. |
| Capstone: published-quality app | Ship a complete app (auth, API, offline storage, notifications, tests) ready for the Play Store, with screenshots and a demo video. |
| Widgets with Glance | Build a home screen widget with Jetpack Glance. |
| Foreground service | Run a timer or download as a foreground service with a notification. |
| Security | Store a token with EncryptedSharedPreferences or DataStore with encryption and add network security config. |
| Baseline profiles | Add a baseline profile and measure startup time improvement. |
| Play Store listing | Prepare a store listing: screenshots, description, privacy policy and content rating. |
| In-app updates and reviews | Add Play in-app update prompts and in-app review requests. |
| Tablet and foldable support | Make your layout adapt to tablets using window size classes. |
| Capstone 2: production app for a real need | Build an app that solves a real local need (with a real user), released to internal testing on the Play Console or as a signed APK, with feedback documented. |