Looking for a boutique Flutter team for your next release?
Let’s talk
ABOUT PROJECT
Loxie is a mobile-first learning application designed to help users retain and apply insights from nonfiction books.
CLIENT REQUIREMENT
“The task was to develop an application that extends the functionality of the knowledge retention through active recall, spaced repetition, and gamified reinforcement. The application needed to deliver adaptive learning sessions based on demonstrated knowledge and confidence, and build habit-forming daily routines via gamification and streak systems. It also aimed to support monetization through a subscription mode and affiliate links.“
Henrik Cader
Chief Digital Officer, Tumbli
Flutter (iOS-first, scalable to Android/Web)
FastAPI (Python) on Firebase Functions/AWS Lambda as backend
Supabase (PostgreSQL + Auth) as database layer
RevenueCat for subscriptions
Google AdMob for ads
Firebase Cloud Messaging for push
OpenAI API for AI features
Firebase Analytics (+ RevenueCat, optional Mixpanel) for analytics
Flutter (iOS-first, scalable to Android/Web)
FastAPI (Python) on Firebase Functions/AWS Lambda as backend
Supabase (PostgreSQL + Auth) as database layer
RevenueCat for subscriptions
Google AdMob for ads
Firebase Cloud Messaging for push
OpenAI API for AI features
Firebase Analytics (+ RevenueCat, optional Mixpanel) for analytics

A core challenge was the development and precise implementation of Loxie’s hybrid session algorithm. This algorithm dynamically determines the optimal order of learning questions by balancing multiple factors: book weight, question level, answer history, time since last seen (spaced repetition), a boost for unseen content and randomize coefficient to provide more interesting daily drills and provide more diversity. Ensuring accurate calculation of each card’s priority score and managing the conditional unlocking and locking of Level 1, 2, and 3 questions based on mastery criteria (correctness, confidence, and temporal intervals) presented significant complexity. The system had to flawlessly transition questions between active and locked states to maintain effective long-term retention.
Another major challenge involved efficiently managing the dynamic size of the user’s daily question deck and integrating mid-day content changes that a should affect only next daily deck generation. Crucially, the daily deck had to be generated and locked at midnight to maintain the integrity of spaced repetition and confidence tracking. This required careful logic to ensure that user changes to their book shelf (for Pro users) or book replacements (for Free users) either didn’t affect the current day’s session or were queued for the next day, preventing “reshuffling exploitation” and reinforcing a consistent daily learning experience.