Roadmap · Build products
Mobile development (Android)
Opens with creditsFor programmers who want to build and ship real Android and iOS apps with Flutter, React Native, Kotlin or Swift. By the end you can build a multi-screen app that works offline, uses device features, is tested and accessible, and is live in a store with real users.
By the end, you will be able to
- Build a multi-screen app with clear state management and navigation on your chosen platform
- Fetch, cache and sync API data so the app keeps working without a connection, with tokens in secure storage
- Use the camera, location and notifications with permission flows that handle a user saying no
- Test core logic and one full user flow, profile a release build and complete that flow with a screen reader
- Publish an app through Google Play closed testing or TestFlight with crash reporting live
The path
7 stages, in the order to learn them. Open one to start.
1Kotlin fundamentalsLearn the language your apps will be written in before touching UI code. Null safety, collections and async code matter more on mobile than most beginners expect.9 topics · ~2 months
- 1val, var and type inferenceKotlin uses type inference: it works out the type for you.
- 2Null safetyIn Kotlin a
Stringcan never be null; only aString?can. - 3Functions, lambdas and extensionsKotlin functions support default and named arguments.
- 4Classes and data classesA Kotlin class lists its properties right in the constructor:
class User(val id: String, val name: String). - 5Sealed classes and whenA sealed class or sealed interface has a fixed set of subtypes that the compiler knows about, such as
Loading,Success(data)andError(message). - 6Collections and their operationsKotlin collections come in two flavours.
- 7Exceptions and ResultKotlin has exceptions, but no checked exceptions.
- 8Coroutine basicsCoroutines let you write async code that reads top to bottom, like normal code.
- 9Gradle and dependenciesAndroid projects are built by a tool called Gradle, set up in Kotlin script files such as
app/build.gradle.kts.
9 in this stageOpen this stage2Jetpack Compose UIBuild screens the way your platform expects: small composable pieces, layout, lists, images, forms and theming. The aim is to turn a design into a screen that looks right on a small phone and a large one.10 topics · ~3 months
- 1Composable functionsIn Jetpack Compose, a piece of UI is a Kotlin function marked with
@Composable. - 2Previews and Live EditMark a composable with
@Previewand Android Studio draws it in the design pane without running the app. - 3Modifiers and why their order mattersA Modifier changes how a composable looks or behaves: size, padding, background, border, click handling, scrolling and more.
- 4Row, Column and BoxA Column stacks children from top to bottom, a Row places them side by side and a
Boxlayers them, like a badge on an avatar. - 5Edge-to-edge and window insetsModern Android apps draw edge to edge, behind the status bar and the navigation bar.
- 6State in Compose: remember and hoistingA composable holds state with
remember { mutableStateOf(...) }. - 7LazyColumn, LazyRow and gridsLazyColumn and
LazyRowbuild only the items on screen, andLazyVerticalGridlays them out in columns. - 8Images and resourcesAndroid keeps assets that are not code in
resfolders. - 9TextField and forms
TextFieldandOutlinedTextFieldare hoisted: you pass invalueandonValueChange, and keep the text in state yourself. - 10Material 3 components and themingMaterial 3 in Compose gives you ready-made components styled by
MaterialTheme, such asScaffold,TopAppBar,Button,CardandNavigationBar.
10 in this stageOpen this stage- 1Composable functionsIn Jetpack Compose, a piece of UI is a Kotlin function marked with
- State management and navigationStructure an app with several screens: where state lives, how screens share it and how users move between them. This is where apps stay maintainable or turn into a tangle of callbacks.9 topics · ~2 monthsOpens with credits
- Networking, APIs and local storageFetch data from REST APIs, cache it and store it on the device so the app works on a slow or missing connection. Offline-first design and secure token storage separate a real app from a demo.10 topics · ~3 monthsOpens with credits
- Device features, permissions and notificationsUse what makes a phone a phone: camera, location, local and push notifications, background work and the permission flows around them. Getting permissions and background limits right keeps the app installed and out of review trouble.8 topics · ~2 monthsOpens with credits
- Testing, performance and accessibilityProve the app works and keeps working: automated tests, profiling for dropped frames and memory, and accessibility checked with a real screen reader. Most student portfolios skip this stage, which is why it stands out.10 topics · ~2 monthsOpens with credits
- Publishing to Google PlayShip the app to real users: signing, store listing, privacy declarations, beta testing, review guidelines, crash reporting and analytics. An app real testers use counts for more than five unfinished repositories.10 topics · ~6 weeksOpens with credits
5 more stages, 47 more topics, free with an account.
You have seen the open stages of the Mobile development roadmap. Every topic it covers is listed above, and an account opens the rest: what each topic means, a question to check yourself, the courses, the practice and Tauseef's advice for every stage. Early access is open: sign up and your account is active shortly after.
Everything here is free to learn from. A few things, like adding a roadmap, keeping a cheat sheet or asking Tauseef a question, use credits. You get 15 when you join, your first roadmap is free, and if you are learning seriously and run out, you can ask for more. Credits only make sure the platform goes to people who are actually learning.
Related on Sefism
Picked from the other libraries by shared topics.
Best practices
See all- React Native Best PracticesReact Native best practices for 2026: Expo and the New Architecture, fast lists, smooth animations, safe storage, deep links, accessibility and release builds.
- Flutter Best PracticesFlutter best practices for 2026: sound null safety, cheap build methods, layered architecture, smooth frames, go_router, accessibility, testing and safe releases.
Checklists
See all- App Store and Google Play Launch ChecklistLaunch a mobile app on the App Store and Google Play: accounts, build rules, review guidelines, privacy labels, Data safety, listing, in-app purchases, testing, crashes and staged rollout.
- Mobile App Security ChecklistCheck an Android or iOS app against OWASP MASVS: data storage, network security, authentication, platform interaction, code quality, resilience and privacy.
Project structures
See all- Flutter project structureFor anyone building one Dart app for Android, iOS and the web. The tree starts from what flutter create gives you and grows into a feature-first lib/ folder, where each feature keeps its own data, domain and presentation code, then adds tests at every level, flavors, release signing, crash reporting and, for large teams, a melos workspace of local packages.
- React Native with Expo project structureFor web developers who know React and want one TypeScript codebase for Android, iOS and the web. Routes are files in src/app (Expo Router), the business logic lives in feature folders under src/features split into data, domain and presentation, and the native android and ios folders are generated, not hand-written.
- Android with Kotlin and Compose project structureFor anyone building a native Android app the way Google recommends in 2026: Kotlin, Jetpack Compose, a ViewModel per screen, repositories over Room and the network, and Hilt wiring it together. The tree starts from Android Studio's Empty Activity template, grows into feature packages with data, domain and presentation, adds signing, shrinking, CI and crash reporting for production, and ends as a multi-module build with convention plugins, Baseline Profiles and staged rollouts.
Career questions
See allStuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
- 1:1 Mentorship
- Fresh Graduate Mentorship
- Career Guidance
Brand deals, promos and partnerships: tauseeffayyaz@gmail.com