Small apps.
Real Android skills.
Choose from 20 guided apps, including 10 new Phase 1 projects using basic layouts, buttons and state. Understand each topic, build one step at a time, and compare your work with complete source code.
Complete Android Studio projects · No account or API key · Apps work offline after the first Gradle sync
var score by rememberSaveable { mutableStateOf(0) }
Text("Score: $score")
Button(
onClick = { score += 1 },
enabled = score < 99
) {
Text("Add one point")
}An exercise and a reference solution, together
Start with the Phase 1 collection after learning composables, layouts and state. Its ten apps use one screen and basic buttons, with no animation APIs or advanced libraries. The original collection below progresses from inputs and games to navigation and storage; choose it when you reach those lessons.
- 01
Predict the result
Read the brief and the concepts. Sketch the screen and identify the inputs, outputs, and state owner.
- 02
Build in small steps
Open the supplied scaffold in Android Studio. Try each instruction before inspecting its code excerpt and complete reference file.
- 03
Verify and explain
Run the acceptance scenarios, check off working features, and explain one event from button tap to screen update.
10 simple apps to build next
Open the Phase 1 lesson: Prcatice more →
Practice Text, Column, Row, modifiers, reusable composables and small saved state values. Each guide includes a preview, a complete working app and concrete checks. Content changes immediately when you press a button; no animation code is needed.
Download all 10 Phase 1 projectsGreeting 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Explore 10 more mini projects
Student Profile Card
Build an editable student introduction card with a local avatar, reusable information rows, and an about-me toggle. Learn how a Compose screen changes when its state changes.
Tip and Bill Splitter
Help a group split a restaurant bill. Accept a bill and people count, choose a tip percentage, and calculate a clear total and share with safe input handling.
Temperature Unit Converter
Convert between Celsius and Fahrenheit with one input, a clear direction selector, Convert and Clear actions, and support for negative and decimal temperatures.
Quadratic Equation Solver
Build a real-root solver for ax² + bx + c = 0. Learn how input validation, explicit result types, reusable fields, and mathematical branching turn a formula into a reliable small Android app.
Guess the Number
Build a playable guessing game, then use it to understand event handling, validation, recomposition, and saving a small screen state across rotation.
Android Basics Quiz
Create a five-question learning app with accessible answer selection, immediate explanations, a progress indicator, guarded scoring, and a restartable result screen.
Shopping Checklist
Build an editable shopping list with stable row identities, validation, purchase tracking, and lifecycle-aware state from a ViewModel. Learn why rotation retention and permanent storage are different requirements.
Mini Recipe Book
Build a searchable six-recipe catalog, navigate to a details screen using an item ID, and share the selected recipe with another Android app.
Focus Countdown Timer
Build a study timer with duration choices, Start/Pause/Resume/Reset controls, lifecycle-aware pausing, and a countdown based on elapsed time.
Pocket Notes with Room
Build a persistent notebook with a searchable list, add/edit navigation, title validation, confirmation before deletion, and recoverable database error states.
Bring the projects to your classroom
Each download includes a student README with the instructions, troubleshooting, checks, and rubric. Assign the core requirements first, then let students choose an extension.