AI-powered language learning from real-life context. Users upload a photo or describe a scene; Gemini 3 Pro extracts the context, proposes themes, and builds a tailored lesson with vocabulary, quizzes, and roleplay.
- Built for Kaggle hackathon: Google DeepMind - Vibe Code with Gemini 3 Pro in AI Studio Kaggle Hackathon
- Team: 2 members — HyIsNoob and Jaxy
Level up the learning vibe with our official Kaggle submission and write-up.
Quick highlights:
- Real-context themes from your photo or description.
- Quiz gating, roleplay swaps, and Grammar Detective.
- Magic Recap Card export for sharing progress.
- Context-first lessons: Upload image → Gemini 3 Pro analyzes → suggests 3 themes tied to the original context.
- Bilingual Bridge: Target language separated from instruction language; examples are bilingual.
- Adaptive quizzes: Hard mode progress (+10% per question), completion gates to prevent skipping.
- Speech practice: Text-to-Speech playback and Speech-to-Text answer checking.
- Roleplay dojo: AI proposes roles, allows customer/staff switching, and grammar toggle (Grammar Detective).
- Persistence: LocalStorage for settings, study history, saved words, and journal tabs.
- Gamification: XP, streaks, and Magic Recap Card export (html2canvas) for sharing.
- Input & Setup: choose target language + level; persisted for next sessions.
- Smart Theme Analysis: upload/describe; Gemini proposes 3 context-anchored themes.
- Learn Mode: vocabulary up top, quiz pagination below; gated “Continue Learning”.
- Roleplay Modal: AI role suggestions, role switching, grammar check toggle.
- Frontend: React + Vite, Tailwind via CDN, React 19.
- AI: Gemini 3 Pro through
@google/genai. - Utilities: Web Speech API (TTS/STT),
canvas-confetti,html2canvas(CDN), LocalStorage. - Language: TypeScript.
Prerequisite: Node.js
npm install
# set GEMINI_API_KEY in .env.local
npm run devnpm run dev— start Vite dev servernpm run build— production buildnpm run preview— preview build
components/— UI flow: Landing, ThemeSelector, LearnView, RoleSelector, etc.services/— Gemini calls, storage, word-chain logic.utils/— audio helpers.LingoBot.svg— mascot used across the app.
Prerequisites: Node.js
- Install dependencies:
npm install - Set the
GEMINI_API_KEYin .env.local to your Gemini API key - Run the app:
npm run dev
