Inspiration
In a digital era dominated by fast-paced media, children are finding it increasingly difficult to develop sustained attention. We envisioned an educational ecosystem that acts as a "digital vitamin" rather than digital candy. We were inspired by cognitive behavioral therapy techniques to create LOVI, a safe environment where children can actively train their cognitive flexibility through beautifully crafted, interactive games.
![]()
What it does
LOVI is a comprehensive Focus Builder platform featuring an adaptive journey of 6 specialized cognitive minigames:
| Game | Targeted Cognitive Domain | Access Tier |
|---|---|---|
| Wait For It | Impulse Control & Patience | Free |
| Sequence Repeat | Working Memory | Free |
| What's Missing | Visual Memory & Recall | Free |
| Rule Switch Sort | Cognitive Flexibility | Premium |
| Find the Signal | Selective Attention | Premium |
| Watch the Firefly | Sustained Attention | Premium |
The application intelligently routes users through these games. Free users have unlimited access to foundational games, while advanced games are securely gated behind a RevenueCat-powered Paywall.
How we built it
We engineered LOVI completely natively from the ground up:
- Frontend & UI Engine: Written entirely in Kotlin using Jetpack Compose.
- Architecture: We utilized the MVVM pattern enforcing a strict Unidirectional Data Flow.
- Monetization Infrastructure: Integrated RevenueCat mapped to Google Play Billing to handle dynamic payload fetching and secure payment processing.
Core Logic Snippet
Here is an example of how we securely gate our premium games using Kotlin state flows:
fun onNavigateToPremiumGame() {
if (isProUnlocked.value == true) {
navController.navigate("premium_game")
} else {
navController.navigate("paywall")
}
}
System Architecture Mind Map
[ User Interface ]
│
▼
[ Jetpack Compose NavHost ]
│
├─► [ Free Tier ] ────► (Memory & Impulse Games)
│
└─► [ Premium Tier ] ─► (RevenueCat Paywall Intercept)
│
▼
[ Google Play Billing ]
Challenges we ran into
Building dynamic, high-performance interactive games natively in Jetpack Compose without a traditional game engine pushed the limits of our system. We had to carefully architect our ViewModels to prevent frame drops during complex animations.
Additionally, navigating the stringent requirements of Google Play Billing and RevenueCat testing proved complex, requiring us to overcome cryptographic signature mismatches and proper mapping of Entitlements.
Accomplishments that we're proud of
- Buttery-Smooth Native Games: Achieving fluid, interactive mechanics purely through Compose State.
- Flawless Monetization Gateway: Successfully implementing a robust payment pipeline.
- Algorithmic Foundations: We laid the groundwork for our dynamic difficulty scoring.
What we learned
We learned advanced state hoisting and recomposition optimization in Jetpack Compose, as well as the intricacies of modern mobile monetization APIs.
What's next for LOVI
We are building a Detailed Analytics Engine and an Adaptive Difficulty Algorithm.
Currently, our baseline cognitive score is calculated using an in-line formula based on reaction time and accuracy: \( S = R \times A \).
In the future, the difficulty \( D \) of the next level will scale automatically using a dynamic weighted equation:
$$ D_{n+1} = D_n + \alpha(T_{target} - T_{actual}) $$
This ensures the games grow alongside the child's cognitive capabilities, providing a lifelong educational tool.
Built With
- android
- android-studio
- coroutines
- edtech
- git
- github
- google-play-billing
- jetpack-compose
- kotlin
- material-design
- mobile-app
- mvvm
- python
- revenuecat
- stateflow



Log in or sign up for Devpost to join the conversation.