A focused Mandarin Chinese learning platform designed to take learners from foundational phrases to advanced professional fluency. The program offers a modular 40-day journey through interactive audio-visual lessons, YouTube video demonstrations, real-world conversation practice, reading comprehension exercises, character writing practice, and culturally relevant topics—ideal for travelers, professionals, and global citizens.
Mandarin Pathways has been converted to a native Flutter application! The Flutter version provides:
- ✅ Cross-platform support: iOS, Android, Web, Desktop (Windows, macOS, Linux)
- ✅ Native mobile performance with smooth animations
- ✅ Offline-first architecture with all content cached locally
- ✅ Enhanced audio controls (speed adjustment, looping, seeking)
- ✅ Native notifications for daily reminders
- ✅ Modern Material Design 3 UI
- ✅ App Store/Play Store ready for distribution
📱 Get Started with Flutter App →
-
Flutter Mobile/Desktop App (recommended) - Native performance, cross-platform
- Located in:
flutter_app/ - See: Flutter App Documentation
- Located in:
-
Progressive Web App (PWA) - Original web-based version
- Located in: Root directory
- Access via local server:
python server.py
- Interactive, responsive web interface using HTML5, CSS3, and modern JavaScript
- Dynamic content updates and micro-interactions for enhanced user engagement
- YouTube API integration for embedded instructional videos
- Mobile-first responsive design using media queries and grid layouts
- Canvas-based drawing system for Chinese character practice
- Interactive reading comprehension exercises with vocabulary tools
- Automated content generation scripts for lesson materials
- Efficient audio file processing and generation
- Asynchronous programming for optimized performance
- Structured 40-day curriculum design with progressive learning paths
- Interactive learning tools and progress tracking systems
- Multimedia content integration (text, audio, video, interactive exercises)
- Curated YouTube content for visual learning reinforcement
- Character writing practice with stroke order guidance
- Reading comprehension exercises with vocabulary support
- Trilingual content management (Simplified Chinese, Pinyin, English)
- Dynamic language switching functionality
- Cultural context integration
- Progress tracking with completion badges
- Offline-capable web application
- Persistent user preferences and progress storage
- Intuitive navigation and learning flow
- Dual-language audio content management
- Native speaker pronunciation integration
- Custom audio playback controls
index.html: Main dashboard with progress trackingday.html: Daily lesson interface with audio and text contentsupplementary.html: Additional learning resources and practice materialsreading.html: Interactive reading practice with comprehension exerciseswriting.html: Character writing practice with canvas-based drawingcss/: Stylesheets for the web interfacestyles.css: Main stylesheetvideo-player.css: Styles for the YouTube video playernative-speaker.css: Styles for native speaker componentsreading.css: Styles for reading practice interfacewriting.css: Styles for writing practice interface
js/: JavaScript functionality and interactive featuresscript.js: Core application functionalityvideo-loader.js: Loads YouTube videos for daily lessonsvideo-loader-supplementary.js: Loads supplementary YouTube videoscharacter-drawing.js: Canvas-based drawing system for character practice
audio_files/:- Daily lesson audio files in both English (
day{n}_en.mp3) and Mandarin (day{n}_zh.mp3) - Supplementary audio content in the
supplementary/subdirectory - Reading practice audio in the
reading/subdirectory - Writing practice audio in the
writing/subdirectory
- Daily lesson audio files in both English (
text_files/: Text transcripts for each lesson:- Simplified Chinese (
day{n}_zh.txt) - Pinyin (
day{n}_pinyin.txt) - English (
day{n}_en.txt)
- Simplified Chinese (
reading_files/: Text content for reading practice exerciseswriting_files/: Character practice content and writing exercisesmanifest.json: PWA configuration for installable app featuressw.js: Service Worker for offline functionality and cachingicons/: PWA icons for various device sizes and resolutionsicon-72x72.pngtoicon-512x512.png: Progressive sizes for different devicesicon.svg: Scalable vector icon
videos.json: YouTube video IDs for each daily lessonvideos_supplementary.json: YouTube video IDs for supplementary content- Python content generation scripts:
mandarin_phrases_days_01_07.py: Days 1-7 contentmandarin_phrases_days_08_14.py: Days 8-14 contentmandarin_phrases_days_15_22.py: Days 15-22 contentmandarin_phrases_days_23_30.py: Days 23-30 contentmandarin_phrases_days_31_40.py: Days 31-40 contentmandarin_phrases_supplementary.py: Additional practice contentreading_activities.py: Reading practice content generatorwriting_activities.py: Writing practice content generatorvideo_search.py: Utility for finding and managing YouTube videos
- Pinyin system, tones, and pronunciation
- Greetings, numbers, time, and basic Q&A
- Introduction to characters
- Shopping, transportation, dining, and directions
- Basic sentence patterns and grammar
- Survival Mandarin for travelers
- Family, social interactions, and etiquette
- Chinese festivals and traditions
- Everyday communication at home and in public
- Workplace vocabulary and business etiquette
- Remote work and online meetings
- Emails, presentations, and technical phrases
- Idioms, slang, and formal expressions
- Debates, storytelling, and persuasive speech
- Practice dialogues and role-play
- Install as a standalone app on desktop and mobile devices
- Offline access to lessons, audio, and practice materials
- Push notifications for daily lesson reminders
- Automatic updates when new content is available
- Fast loading and smooth performance
- Home screen icon for quick access
- Full-screen immersive experience
- Works across all modern browsers and devices
- Dual audio tracks (English explanation + native Mandarin pronunciation)
- Interactive transcripts (Simplified, Pinyin, English)
- Daily progress tracker with lesson completion badges
- Mobile-friendly, offline-capable web interface
- Curated YouTube videos for each daily lesson
- Native speaker demonstrations and practice materials
- Visual reinforcement of pronunciation and cultural context
- Videos automatically loaded based on the current lesson day
- Tone practice and audio drills
- Pinyin-to-Hanzi recognition games
- Cultural tips embedded in lessons
- Leveled reading materials (Beginner, Intermediate, Advanced)
- Interactive vocabulary lists with pronunciation
- Comprehension questions with self-assessment
- Audio narration by native speakers
- Multi-language support (Simplified Chinese, Pinyin, English)
- Canvas-based drawing system for authentic character practice
- Works with both mouse and touch screen devices
- Grid system for proper character proportions
- Stroke order guidance and hints
- Multiple difficulty levels:
- Basic strokes and radicals
- HSK-leveled characters (HSK 1-6)
- Thematic character groups (Family, Food, Travel, etc.)
- Clear, Undo, and Hint functionality for learning support
- Spoken by over 1 billion people
- Key to accessing China's economic, cultural, and technological landscape
- High demand in diplomacy, tech, import/export, and finance
- Opens doors in international business, academia, and NGOs
- Dive into Chinese philosophy, literature, and modern media
- Enhanced understanding of cross-cultural dynamics
- Python 3.12+
- Required Python packages:
pip install gtts edge-tts pandas
# Generate content for each section
python mandarin_phrases_days_01_07.py
python mandarin_phrases_days_08_14.py
python mandarin_phrases_days_15_22.py
python mandarin_phrases_days_23_30.py
python mandarin_phrases_days_31_40.py
# Generate supplementary content
python mandarin_phrases_supplementary.pyFor basic usage and PWA features:
# Using Python's built-in server
python -m http.server 8000Then open http://localhost:8000 in your browser.
Note: Running through a local server is required to enable PWA features:
- Use Chrome or another modern browser that supports PWAs
- Look for the install prompt in the address bar to install as a standalone app
- Test offline functionality by disabling network in DevTools
- Enable notifications in your browser to receive daily reminders
- Clear site data in browser settings to test the service worker update process
This project follows industry best practices for open source repositories:
- MIT License (LICENSE)
- Contribution guidelines (CONTRIBUTING.md)
- Code of Conduct (CODE_OF_CONDUCT.md)
- Changelog (CHANGELOG.md)
- Issue and PR templates (.github/ISSUE_TEMPLATE/, .github/PULL_REQUEST_TEMPLATE.md)
- EditorConfig (.editorconfig)
- .gitignore and Dependabot (.gitignore, .github/dependabot.yml)
- Funding options (.github/FUNDING.yml)
- Open
index.htmland select your lesson - Listen to both English explanation and native Mandarin pronunciation
- Read along with Pinyin and Hanzi
- Repeat, record, and shadow the audio
- Watch the YouTube video for native speaker demonstrations (available in Mandarin mode)
- Practice with the video content to improve pronunciation and cultural understanding
- Practice reading comprehension with leveled texts and vocabulary support
- Master character writing with the interactive drawing system
- Complete your daily badge and track your fluency gains
Uses localStorage to save:
- Completed lessons
- Last visited day
- Audio playback preferences (e.g. slow speed, loop)
- Custom notes and bookmarks
- Completed reading exercises
- Completed writing exercises