An interactive, responsive Russian language learning application featuring native audio pronunciation, adaptive quizzes, an on-screen Cyrillic keyboard, and Progressive Web App (PWA) support.
Russian Learning App is built for English speakers to rapidly learn Cyrillic and foundational Russian phrases. Designed with modern web performance in mind, it provides instant audio feedback, an adaptive quiz engine, and offline learning capabilities.
🚀 Live Application: https://basicrussian.org
- 🔊 Native Audio Pronunciation: High-quality audio playback for alphabet letters, pronunciation examples, common vocabulary, and survival phrases.
- ⌨️ Integrated Cyrillic Keyboard & Transliteration: Allows users without a physical Russian keyboard to type in Russian directly, featuring phonetic auto-transliteration mapping.
- 🎯 Adaptive Quiz Engine with Fuzzy Matching:
- Employs Levenshtein-distance string matching to forgive minor typos while learning Cyrillic.
- Real-time answer validation, phonetic soft/hard sign checks, and dual Russian-to-English / English-to-Russian testing modes.
- Audio reinforcement on correct and incorrect responses.
- 📱 Progressive Web App (PWA): Installable on iOS, Android, and Desktop with offline caching via Workbox and modern Service Workers.
- 🎨 Responsive Design: Fluid mobile-first interface optimized for touchscreen phones, tablets, and desktop displays.
This project is actively developed and architected using Google Antigravity paired with Google Gemini / Advanced Agentic AI.
- Agentic Pair Programming: Used Antigravity's multi-step autonomous workflows to modernize the build system to Vite 6, configure Vitest testing suites, and manage continuous deployment.
- Architectural Planning: Leveraged Gemini for full-stack data modeling, designing normalized PostgreSQL schemas, and planning serverless Netlify Functions with OAuth 2.0 (Google & Microsoft Entra ID).
- Modern Developer Velocity: Demonstrates cutting-edge AI-accelerated software engineering practices—accelerating iteration speed while maintaining strict code quality, type safety, and testing standards.
- Frontend: React 18, TypeScript, Modern CSS (CSS Variables, Flexbox, CSS Grid)
- Build Tool & Bundler: Vite 6,
@vitejs/plugin-react,vite-plugin-pwa - Testing: Vitest, React Testing Library, JSDOM
- Deployment & Hosting: Netlify (Automated CI/CD from
master, custom security headers, SSL, service worker caching rules) - Audio & Assets: Compressed audio files with custom automated asset generator scripts
We are currently engineering a serverless backend layer to support user accounts and progress synchronization:
- Database: PostgreSQL (Serverless via Supabase/Neon) with Drizzle ORM.
- Enterprise & Consumer Authentication: OAuth 2.0 / OIDC sign-in via Google and Microsoft Entra ID (Azure AD).
- Cloud Sync: Cross-device sync for quiz sessions, accuracy trends, and spaced-repetition mastery tracking per word.
Detailed design and SQL schemas are documented in docs/BACKEND_PLAN.md.
- Node.js:
v22.x(Active LTS) or later - npm:
v10.x/v11.xor later
# 1. Clone the repository
git clone https://github.com/JohnBendfeldt/basic-russian.git
cd basic-russian
# 2. Install dependencies
npm install
# 3. Start development server (runs with Vite HMR)
npm start
# 4. Run automated test suite
npm test
# 5. Production build & preview
npm run build
npm run previewJohn Bendfeldt
- GitHub: @JohnBendfeldt
- Live App: basicrussian.org
- Contact: dev@basicrussian.org
This project is licensed under the MIT License - see the LICENSE file for details.