Android Native project
MathBrainer
A brain-training Android app with 14 fast math games focused on clarity, repetition, and lightweight daily use.

Overview
MathBrainer
MathBrainer is an Android app designed around short, repeatable mental exercises that combine arithmetic, memory, sequencing, and visual recognition into quick daily play sessions.
Rather than centering the experience on a single mechanic, the app brings together multiple lightweight game modes under one consistent interface, encouraging fast interaction, immediate feedback, and gradual improvement over time.
From a product perspective, the app is conceived as a compact cognitive training experience: users can move between distinct challenge types from a central home screen, play focused rounds lasting only a short time, and monitor their progress through persistent high scores and per-game statistics.
The result is a mobile experience that balances casual accessibility with enough structural depth to support long-term reuse and extension.
Architecture
- Presentation layer built with Jetpack Compose and screen-specific ViewModels.
- Domain layer organized around use cases for challenge generation, progression, and score updates.
- Data layer centered on local Room persistence for scores and gameplay statistics.
- Dependency injection managed with Hilt.
- State-driven UI powered by Kotlin Coroutines and StateFlow.
- Navigation handled through Compose Navigation.
- Feature-oriented packaging, with each game mode structured as its own functional area.
This approach keeps the UI focused on rendering and interaction, while game rules, persistence, and progression logic remain isolated in reusable and testable layers.
Project Strategies
- Feature-based organization to keep each game isolated and maintainable.
- Reusable UI patterns for headers, challenge surfaces, numeric input, result feedback, and end-of-game flows.
- Shared scoring and statistics conventions across different game types.
- Use-case-driven domain logic to separate business rules from UI concerns.
- Local-first persistence to retain progress without backend dependencies.
- Compose-first single-activity structure for a modern navigation model.
- Integrated ad-consent and monetization flow within the application lifecycle.
- Scalable structure that allows new games to be introduced without reshaping the core app.
Core Technology
- Kotlin
- Android SDK
- Jetpack Compose
- Material 3
- Hilt
- Room
- Kotlin Coroutines
- StateFlow
- Compose Navigation
- Gradle Kotlin DSL
- Google Mobile Ads
- User Messaging Platform (consent flow)
Game Modes
- Choose Result
Arithmetic challenges solved by selecting the correct answer from multiple choices, focused on speed and recognition. - Write Result
Operations completed by manually entering the result through a numeric keypad, emphasizing recall and mental calculation. - Random Operation
Mixed arithmetic challenges that require switching quickly across operators and calculation patterns. - Double Number
A rapid mental-arithmetic mode centered on doubling values and recognizing simple numeric transformations. - Quick Count
Visual counting challenges where players determine the number of displayed objects as quickly and accurately as possible. - Number Order
A sequencing-based game built around recognizing or reconstructing the correct numerical order. - Memory Flash
A short-term memory challenge in which information is briefly shown, hidden, and then recalled by the player. - Sequence Complete
Pattern-based number sequences where the player infers the missing continuation or final value. - Falling Operations
A faster-paced arithmetic mode that adds time pressure and a more dynamic gameplay rhythm. - Enigma
Logic-oriented numeric puzzles that move beyond direct calculation into interpretation and reasoning.

