Put your Phase 1 skills into practice
Build ten small Jetpack Compose apps using the layouts, text, buttons and state you have learned in Phase 1. Start with Greeting Card and work through the projects at your own pace.
Keep each app simple
Each project guide includes its requirements, explained concepts, six build steps, complete source files and checks to try in Android Studio. The time shown on each card is build time; this lesson is your starting point for choosing an app.
Choose one of the ten projects
Greeting Card
Arrange a greeting card, choose a preset recipient with ordinary buttons, and reset the greeting. Practice text, spacing, simple callbacks, and one saved string on a single screen.
Practice: Text and layout · One saved string · An event changes state
Business Card
Build a simple contact card with initials, a name, a role, and reusable contact sections. Focus entirely on composable functions, parameters, typography, and a readable layout.
Practice: Static data needs no state · Reusable functions · Readable structure
Cafe Menu Board
Display three sample cafe items using one reusable card function. Add a basic Show/Hide button to reveal ingredient allergen notes with a single saved Boolean.
Practice: Reusable menu cards · Conditional content · A descriptive button label
Quote Switcher
Show one of four short learning reminders and switch between them with Previous, Next, and Reset buttons. Practice a Kotlin list, an index, and saved screen state.
Practice: Data and position · Zero-based indexes · Wrapping safely
Color Palette
Choose Indigo, Teal, or Amber with ordinary buttons and display the matching color sample. Practice a when expression, modifiers, and text that identifies the current choice.
Practice: One choice, one string · Derived color · Selection in words
Two-Team Scoreboard
Build a two-team score display with Add, Remove, and Reset buttons. Practice reusable composables, bounded numbers, conditional text, and small saved screen state.
Practice: One state owner · Derived feedback · Boundaries at the action
Phrase Builder
Create a sentence by choosing a subject, action, and place from ordinary buttons. Practice String state, reusable button groups, string templates, and a calculated word count.
Practice: String state and templates · Small fixed choices · A calculated word count
Discount Calculator
Choose a sample price and discount with buttons, then show the saving and final amount. Practice simple arithmetic, integer cents, saved selections, and readable result cards.
Practice: Integer money values · Calculate in the right order · Format without extra state
Study Session Planner
Plan a study session with a block counter and a button that includes breaks. Practice Int and Boolean state, bounded callbacks, conditional arithmetic, and a clear total.
Practice: Two different saved values · Breaks exist between blocks · A button describes its next action
Snack Order
Build a practice snack order with two quantity controls and an automatic total. Practice reusable composables, bounded counters, conditional empty-state text, and simple price arithmetic.
Practice: Reusable presentation with callbacks · Totals come from quantities · Empty is an ordinary state
Download and open the apps
Download a single app from its card, or get all ten together. Extract the ZIP and open the folder containing settings.gradle.kts in Android Studio. Follow the included README.md and TOOLCHAIN.md for setup and running instructions.
Build, check and explain
- Read and predict: Choose a project, read its brief, sketch the screen and identify the values that can change.
- Build in small steps: Keep a separate working copy and attempt each task before consulting the complete reference file.
- Check the behavior: Try the guide’s scenarios on a device or emulator. Check rotation for interactive apps, repeated taps, boundary values and larger fonts.
- Explain your work: Describe one button callback, the state value it updates and the text that reads that value. For the static Business Card, explain how parameters make the repeated contact sections reusable.
Finish the core requirements before trying a small extension. When you are ready, continue to the Phase 1 capstone using the next-lesson link below.