Internship field
Mobile App Development
Built around one app that grows every week. Use Flutter, React Native or native Android; the roadmap is framework-neutral and the deliverables stay the same.
Week 1 — Setup and first screens
Get the toolchain running and build your first screens.
Objectives
- Set up the development environment
- Build static screens
- Run on an emulator or device
Tasks (3)
- 10 pts
1. Environment setup
Install the SDK and emulator, create a new project and run it. Capture a screenshot of the running app.
Deliverable: Screenshot plus repository link.
- 15 pts
2. Profile screen
Build a profile screen with an avatar, name, bio, stats row and an edit button.
Deliverable: Repository plus screenshot.
- 10 pts
3. Splash and onboarding
Add a splash screen and a three-slide onboarding flow.
Deliverable: Repository plus screenshots.
Week 2 — Layouts, navigation and forms
Move between screens and collect input.
Objectives
- Implement stack and tab navigation
- Build responsive layouts
- Validate form input
Tasks (3)
- 15 pts
1. Navigation shell
Add bottom tab navigation with at least three tabs and stack navigation inside one tab.
Deliverable: Repository plus a screen-flow diagram.
- 15 pts
2. Form screen
Build a form with text fields, dropdown, date picker and validation messages.
Deliverable: Repository plus screenshot.
- 10 pts
3. Responsive layout
Make one screen work on a small phone, a large phone and a tablet.
Deliverable: Three screenshots.
Week 3 — State, lists and interaction
Manage state and render dynamic lists.
Objectives
- Manage app state
- Render performant lists
- Handle user interactions
Tasks (3)
- 20 pts
1. State management
Introduce a state solution (Provider, Riverpod, Redux, Bloc or equivalent) and move screen state into it.
Deliverable: Repository link.
- 20 pts
2. List and detail
Build a scrollable list of at least 20 items with pull-to-refresh and a detail screen.
Deliverable: Repository plus screenshots.
- 15 pts
3. Interactions
Add search, sorting, and a favourite or bookmark action that persists during the session.
Deliverable: Repository plus demo GIF.
Week 4 — API integration
Final projectReplace mock data with live data.
Objectives
- Call REST APIs from mobile
- Model responses
- Handle failure gracefully
Tasks (2)
- 20 pts
1. Fetch live data
Replace hard-coded data with a REST API and map responses to model classes.
Deliverable: Repository link.
- 15 pts
2. Loading and error states
Add loading indicators, an empty state, an error state and a retry action.
Deliverable: Screenshots of each state.