Roadmap · Build products
Mobile development (iOS)
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.
1Swift 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.10 topics · ~2 months
- 1Constants, variables and typesSwift uses
letfor constants andvarfor variables. - 2Optionals and unwrappingAn optional, written
String?, either holds a value or holdsnil, meaning nothing. - 3Functions and closuresSwift functions have argument labels that make calls read like sentences, as in
move(from: a, to: b). - 4Structs versus classesThis is the most important Swift idea for SwiftUI.
- 5Enums with associated valuesSwift enums are far more than a list of named constants.
- 6Protocols and extensionsA protocol lists the properties and methods a type must provide.
- 7Arrays, dictionaries and setsSwift has three main collections.
- 8Error handlingA function that can fail is marked
throws. - 9async/await basicsSwift concurrency lets you write async code in order, top to bottom.
- 10Swift Package ManagerSwift Package Manager is built into Xcode.
10 in this stageOpen this stage- 1Constants, variables and typesSwift uses
2SwiftUI views and layoutBuild 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
- 1Views as structsIn SwiftUI a view is a struct that conforms to the
Viewprotocol. - 2Xcode previewsThe
#Previewmacro draws a view in Xcode's canvas as you type. - 3Modifiers and their orderView modifiers such as
.padding(),.font(.headline),.foregroundStyle(.secondary)and.background()each return a new view that wraps the one before. - 4VStack, HStack, ZStack and spacingVStack arranges views from top to bottom, HStack side by side and
ZStacklayers them, like a badge on an avatar. - 5Safe areas, screen sizes and Dynamic TypeSwiftUI keeps content inside the safe area by default, clear of the Dynamic Island, the home indicator and the keyboard.
- 6@State and bindings
@Statemarks a value that a view owns, such as whether a sheet is showing or the text in a field. - 7List, ForEach and lazy grids
Listshows scrolling rows with the platform's standard look. - 8Forms and controlsA
Formgroups controls into the standard iOS settings look, withSectionfor grouping. - 9SF Symbols, semantic colours and dark modeSwiftUI supports dark mode for free if you use semantic colours, colours named for their job rather than their shade.
- 10Apple's Human Interface GuidelinesThe Human Interface Guidelines describe what iPhone users expect.
10 in this stageOpen this stage- 1Views as structsIn SwiftUI a view is a struct that conforms to the
- 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.8 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.9 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.9 topics · ~2 monthsOpens with credits
- Publishing to the App StoreShip 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, 44 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