This is a submission for the GitHub Copilot CLI Challenge
What I Built
Koji is a gamified Japanese learning mobile app designed specifically for N4-level learners who want to master Kanji vocabulary through their favorite anime episodes. The app transforms passive anime watching into an active, engaging learning experience by extracting vocabulary directly from Japanese subtitles and creating personalized study materials.
Core Features
🎌 Smart Subtitle Analysis - Upload anime episodes with Japanese subtitles (SRT/VTT/ASS formats), and Koji automatically extracts Kanji-focused vocabulary using custom tokenization algorithms optimized for Japanese text structure.
📚 Interactive Flashcards - Auto-generated flashcards with definitions from the Jisho API, complete with furigana readings, part of speech, and example sentences drawn from the actual anime dialogue.
🎯 Adaptive Quizzes - Multiple-choice quizzes automatically created from extracted vocabulary, with progress tracking and points system to keep learners motivated.
🏆 Gamification System - Daily streaks, tier progression (Beginner → Expert), weekly leaderboards, and achievement badges encourage consistent study habits.
📱 Seamless Video Experience - Custom-built video player with tappable subtitles—tap any Kanji word during playback to instantly see its definition without disrupting your viewing experience.
What It Means to Me
As someone passionate about both language learning and anime, I built Koji to solve a problem I personally experienced: traditional Japanese learning apps felt disconnected from real-world content that I actually enjoyed. Koji bridges this gap by making anime—something learners already love—into the primary learning material. The app represents my belief that effective language learning happens when students engage with authentic content that genuinely interests them.
Demo
Video Walkthrough
https://youtube.com/shorts/FwIFNOCSEh0?si=eYjnJkGE2bkJwvdJ
Screenshots
Technical Architecture
Frontend: React Native + Expo
Backend: Node.js + Express + Supabase
NLP Processing: Custom Japanese tokenization + Jisho API
Video: expo-video with custom subtitle renderer
Storage: Supabase (PostgreSQL) + Local file system
Key Technical Achievements:
- Advanced Japanese Tokenization: Built from scratch to handle Kanji compounds, okurigana, particles, and conjugations—extracting only meaningful vocabulary words while filtering grammar elements
- Real-time Subtitle Synchronization: Millisecond-accurate subtitle display with tap-to-define functionality during video playback
- Intelligent Vocabulary Extraction: Frequency-based filtering that prioritizes Kanji words and removes common particles, resulting in focused, learnable vocabulary lists
- Offline-First Architecture: Episodes and flashcards stored locally for seamless study without internet dependency
Impact on Development Speed
Before Copilot CLI:
- Research → Stack Overflow → Documentation → Trial & Error → Success
- Estimated time for Japanese tokenizer: 8-10 hours
- Database schema iteration: 6+ hours
With Copilot CLI:
- Describe problem → Get solution → Understand explanation → Implement → Success
- Actual time for tokenizer: ~3 hours (including testing edge cases)
- Database schema: ~2 hours (with proper RLS from start)
Overall Project Timeline:
- 3 weeks instead of estimated 6-8 weeks
- ~60% reduction in debugging time
- Near-zero time spent searching documentation for syntax
Lessons Learned
Natural Language is Powerful: Describing problems in plain English often yielded better solutions than trying to construct technical search queries
Context Matters: The more specific my prompts (including error messages, file contexts, and expected behavior), the better the suggestions
CLI > IDE Extension for Context Switching: When working across terminal, database, and code editor, the CLI kept me in flow state without switching mental contexts
Favorite Copilot CLI Moment
When I have to attach file for giving more context, I will use at symbol and the file , so it could have the information needed to build something related.
My favorite command was
/agent
, so I could have automation like running dev-command and git command when there are changes in the code
And
/yolo
gives all context to copilot CLI in a snap, So I was switching devices, and whenever I installed copilot on new device, I will use
/yolo
command to get all the information about the project.
GitHub Copilot CLI: My Secret Weapon
GitHub Copilot CLI became indispensable for three key reasons:
- Focus Preservation: No more breaking concentration to search Stack Overflow or documentation—just describe the problem in plain English and get instant, context-aware solutions
- Time Multiplication: What would have taken 6-8 weeks took only 3 weeks, with ~60% reduction in debugging time
- Hands-Free Efficiency: From fixing bugs to generating git commits to executing complex commands—all through natural language, keeping my hands on the keyboard and mind on the problem
Built with ❤️ for anime learners everywhere, powered by GitHub Copilot CLI












Top comments (0)