Inspiration
There are hundreds of apps that will teach you to say hola or bonjour. There is not a single one that will teach you to write a sentence worth reading in the language you already speak.
We both noticed the same gap. The people around us, smart people, educated people, consistently struggled with things that should have been taught in school: when to use a semicolon, what a dangling modifier actually is, why their emails sound weak. Not because they weren't capable of learning it, but because nobody had ever actually taught them. School handed everyone the language and assumed the instruction manual came with it. It didn't.
Every app in this space is built for people learning a second language. There is nothing built for the native speaker who wants to go from functional to genuinely good. No app that treats English itself as a skill worth mastering, the grammar, the vocabulary, the rhythm of a well-constructed sentence.
That's the gap Lingo fills. Not Duolingo for beginners. The app for the person who wants to actually be good at their own language.
What it does
Lingo is a mobile English mastery app for native speakers who want to go deeper with their own language. Each day, users get a new vocabulary word and must write three original sentences using it, graded in real time by Gemini AI with a score and personalized feedback. Beyond vocabulary, the app offers grammar lessons that teach specific rules through rewrite exercises, error-spotting challenges where users find and fix planted mistakes in real passages, and etymology lessons that explore Latin and Greek word roots. The writing analysis tool is the crown jewel: paste any text and get a radar chart scoring your grammar, vocabulary, clarity, sentence variety, and passive voice usage, plus a sentence rhythm wave that visualizes how your sentence lengths flow. All XP, streaks, and progress are saved locally, no login needed.
How we built it
We built Lingo as a React Native app using Expo Router for file-based navigation. All AI features, sentence grading, grammar explanations, error analysis, and writing metrics, run through Google Gemini 2.0 Flash via the Gemini SDK. We structured AI calls around a central generateJSON() wrapper with automatic retry logic for rate limits. Static lesson content (vocabulary words, grammar exercises, etymology roots, error-spotting passages) lives in local TypeScript data files, so the core experience works fast without unnecessary API calls. Global state, XP, streaks, completed activities, is managed with React Context and persisted to AsyncStorage so progress survives restarts. The writing analysis visualizations (radar chart and sentence rhythm wave) are custom SVG components built by hand.
Challenges we ran into
Rate limiting on the free Gemini tier, with multiple AI-graded features, we hit the 15 requests/minute ceiling quickly. We built a retry system with exponential backoff to handle this gracefully instead of just showing errors.
Accomplishments that we're proud of
The app works completely offline for static content and degrades gracefully when AI calls fail.
What we learned
Prompt engineering for structured JSON output is its own discipline — small wording changes produce dramatically different results. Expo Router makes React Native navigation feel closer to Next.js than to the old React Navigation mental model, which was a pleasant surprise. Designing for language learners (even advanced ones) means being encouraging in feedback tone, not just technically accurate
Log in or sign up for Devpost to join the conversation.