A playful language-learning PWA
🗣️ Bobea Ndimi
A playful, Duolingo-inspired language-learning PWA
Learn Spanish 🇪🇸 · Mandarin 🇨🇳 · Traditional Chinese 🇹🇼 · Kiswahili 🇰🇪
Features ·
Demo ·
Getting Started ·
Documentation ·
Contributing ·
License
## đź“– Table of Contents
- Overview
- Features
- Demo
- Tech Stack
- Project Structure
- Getting Started
- Prerequisites
- Installation
- Environment Variables
- Running Locally
- Available Scripts
- Architecture
- Data Flow
- Database Schema
- Offline-First Design
- Spaced Repetition (SRS)
- Exercise Types
- Content Pipeline
- Mobile (Android)
- Documentation
- Contributing
- Roadmap
- License
- Acknowledgments
---
## 🌟 Overview
**Bobea Ndimi** (working name: **SPEAK**) is a full-featured, gamified language-learning application inspired by Duolingo. It currently supports **four languages** — Spanish, Mandarin (Simplified), Traditional Chinese, and Kiswahili — with a language-agnostic architecture that makes adding new languages a data-seeding exercise rather than an engineering effort.
The app features a complete pedagogical loop: **onboarding → placement testing → skill tree → interactive lessons → spaced-repetition review → progress dashboard**. Gamification mechanics (XP, streaks, hearts, leaderboards) keep learners engaged, while an offline-first architecture ensures progress is never lost.
> **Why "Bobea Ndimi"?** The name reflects the project's mission — helping learners *speak* with confidence. "Ndimi" echoes the Kiswahili word for "languages," embodying the multilingual spirit of the app.
---
## ✨ Features
### Core Learning
| Feature | Description |
|---|---|
| 🏠**Skill Tree** | Visual unit/lesson progression path with unlock states and placement skip-ahead |
| 📝 **12 Exercise Types** | Multiple choice, translation, word bank, matching, listening, tone drills, conjugation, gender match, stroke tracing, minimal pairs, listening passages |
| 🧠**Spaced Repetition** | FSRS-powered review queue that surfaces vocabu …