Skip to content

About

Free, interactive Russian language learning app for beginners. Learn Cyrillic, essential phrases, numbers, and time with native audio, adaptive quizzes, and an on-screen keyboard.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

🇷🇺 Russian Learning App

An interactive, responsive Russian language learning application featuring native audio pronunciation, adaptive quizzes, an on-screen Cyrillic keyboard, and Progressive Web App (PWA) support.

Live Demo React TypeScript Node.js Vite PWA Netlify License: MIT


🌟 Overview

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


🚀 Key Features

  • 🔊 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.

🤖 Built with Google Antigravity & Gemini

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.

🛠️ Tech Stack

  • 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

🗺️ Roadmap & In-Progress Architecture

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.


💻 Local Development

Prerequisites

  • Node.js: v22.x (Active LTS) or later
  • npm: v10.x / v11.x or later

Setup & Running

# 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 preview

👤 Author

John Bendfeldt


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Free, interactive Russian language learning app for beginners. Learn Cyrillic, essential phrases, numbers, and time with native audio, adaptive quizzes, and an on-screen keyboard.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages