-
-
Home Screen showing Premium Plan and Free Plan
-
Subscription Screen
-
Add Custom Topics to Learn
-
Selecting Class or Quizz
-
Class Screen
-
Quiz Screen
-
Group Screen showing different groups
-
Group Class Room
-
Voice Game Selection Dialogue
-
Game Screen for the voice game
-
Voice Game Screen showing the mic
-
Find random global partner for voice game match
-
profile screen
-
settings screen
-
LinguaLeap Logo
LinguaLeap: Bridging Global Conversations with Social AI Voice Matches
Inspiration
Traveling across non-English speaking countries opened my eyes to a profound reality: language is the ultimate bridge to human connection. Sitting in local cafes, navigating transit, or asking for help, I repeatedly experienced the frustration and isolation of not being able to communicate in the most fundamental form. It hurts when you cannot share a basic interaction or express gratitude in a local tongue.
Existing language apps felt like isolated flashcard drills that prepared you for tests, not for real conversations. I was inspired to create LinguaLeap—a social, AI-powered interactive language learning app designed to transform language acquisition into live, voice-driven multiplayer games and community practice.
What LinguaLeap Does & How We Built It
LinguaLeap turns language practice into an engaging, real-time multiplayer experience:
- Voice Match Gameplay: Players challenge global opponents or friends in 10-round speech matches. Players tap START TURN, hold the microphone to speak in the target language, preview their live transcribed speech, and submit it for real-time AI evaluation.
- AI-Powered Evaluation: Powered by Google Gemini AI and Cloud Functions, the backend evaluates phonetic accuracy and translation context, awarding \(+10\) points per accurate turn.
- Global Radar & Friendly Matchmaking: Features a real-time global matchmaking radar matching players based on language, skill level, and geographical proximity.
- In-App Monetization via RevenueCat: Integrated using
purchases_flutterto manage Free vs. Premium tiers. Premium subscribers unlock advanced language strength levels (Intermediate & Pro), unlimited topics, and full immersion group challenges.
Tech Stack & Architecture
- Frontend: Flutter & Dart (Cross-platform iOS & Android)
- State Management & UI: Provider, Shadcn UI (
shadcn_ui), and custom Material themes - In-App Purchases & Subscriptions: RevenueCat (
purchases_flutter) - Backend & Real-Time Sync: Firebase Authentication, Cloud Firestore, Cloud Storage, and FCM
- Serverless AI Logic: Firebase Cloud Functions (TypeScript) & Google Gemini AI API
- Speech Engine:
speech_to_textwith dynamic locale resolution and permission handling
Mathematical Models & What We Learned
Building LinguaLeap taught us deep insights into real-time audio pipeline management, serverless architecture, and subscription monetization with RevenueCat.
1. Gamification & Progression Model
Player progression follows a discrete level step function based on cumulative scores:
$$\text{Level}(S) = \left\lfloor \frac{S}{1000} \right\rfloor$$
$$\text{Progress}(S) = \frac{S \bmod 1000}{1000}$$
Where the updated score after turn \(t\) is calculated as:
$$\S_{t+1}=S_t+10\cdot\mathbb{I}\left(\operatorname{AI_Validation}\left(\text{transcribed},\text{target}\right)=\text{true}\right)$$
Where \(\mathbb{I}( \cdot)\) is an indicator function returning \(1\) for correct pronunciations and \(0\) otherwise.
2. Global Matchmaking Compatibility Score
To ensure fair play, matchmaking compatibility $$\mathcal{M}(u_1, u_2)$$ between user \(u_1\) and \(u_2\) is formulated as:
$$\mathcal{M}(u_1, u_2) = \mathbb{I}\left(L_{u_1} = L_{u_2}\right) \times \mathbb{I}\left(S_{u_1} = S_{u_2}\right) \times \exp\left(-\gamma \cdot d(p_1, p_2)\right)$$
Where \(L\) represents learning language, \(S\) represents skill strength, \(d(p_1, p_2)\) is the Haversine geographical distance between location coordinates, and \(\gamma\) is a distance decay parameter.
Challenges We Faced
Microphone Hardware Contention:
- Challenge: On Android/iOS, running background audio recorders concurrently with speech recognition caused hardware input locks, leading to empty transcriptions.
- Solution: We re-engineered the audio pipeline to grant exclusive, unhindered mic access to the speech-to-text engine with an asynchronous \(250\text{ ms}\) result buffer, guaranteeing seamless speech capture.
Real-Time Multiplayer Timer Synchronization:
- Challenge: Syncing 30-second turn countdowns and waiting periods across devices with varying network latencies.
- Solution: Leveraged Firestore server timestamps to derive elapsed time dynamically relative to device clocks between two or multi players.
Seamless Paywall Integration with RevenueCat:
- Challenge: Dynamically restricting advanced language strength levels (Intermediate/Pro) and unlimited group topics without degrading user experience.
- Solution: RevenueCat's SDK allowed us to query entitlement states effortlessly and present paywall screens smoothly when free users attempt to access premium features.
What's Next for LinguaLeap
We plan to introduce live AI speech pitch analysis, multi-party voice rooms, and localized offline lesson caching to continue making global conversations accessible to everyone.
Built With
- android
- dart
- firebase
- flutter
- ios
- provider
- shadcn-ui
- typescript
Log in or sign up for Devpost to join the conversation.