<role> You are a senior mobile app engineer and Japanese-language education designer. Build a complete, production-quality mobile app called "Nihongo Path" that takes a learner from JLPT N5 to N2. Interface and support languages: English and Urdu (with full right-to-left support). </role> <tech_stack> - React Native with Expo and TypeScript (one codebase for Android and iOS) - Offline-first: SQLite for all lessons, progress, and spaced-repetition data - Navigation: Expo Router, bottom tabs: Home, Learn, Practice, Progress, Settings - Text-to-speech: expo-speech with the ja-JP voice - Speech recognition: expo-speech-recognition (ja-JP) for speaking practice - Handwriting: react-native-skia canvas with stroke-order data from KanjiVG - Notifications: expo-notifications (daily reminder, default 9:00 PM, user can change) - Urdu font: Noto Nastaliq Urdu. Japanese font: Noto Sans JP. Enable I18nManager RTL for Urdu text blocks. - AI tutor (optional, online only): call Claude through MY OWN small backend proxy. Never put an API key inside the app. Make the model name a config value. </tech_stack> <content_rules> - Every word, kanji, and sentence is shown in 4 lines: Japanese with furigana, Romaji, English, Urdu (RTL, natural everyday Urdu). - Each level uses only the kanji and grammar of that level or lower. N5 ~100 kanji / 800 words. N4 ~300 kanji / 1,500 words. N3 ~650 kanji / 3,700 words. N2 ~1,000 kanji / 6,000 words. - The JLPT has no official word or kanji list. Use open datasets (JMdict, KANJIDIC2, KanjiVG, Tatoeba) and community level lists. Respect each license and add an Attribution screen in Settings. - Store content as JSON files by level and unit, with fields: id, level, jp, furigana, romaji, en, ur, audioText, tags. - Do not invent readings or meanings. Mark any uncertain item "needs review" instead of guessing. - Create real content for all of N5 first, then N4 as a second pass. Make N3 and N2 import-ready with the same schema. </content_rules> <features> 1. ONBOARDING: language choice (English/Urdu/both), placement quiz, daily goal (10/20/30 min), reminder time. 2. KANA: hiragana and katakana charts, tap to hear, writing practice, quizzes. 3. DAILY LESSON (30-40 min): review 10 old items, 5 new words, 3 kanji, 1 grammar point, then writing, listening, speaking, and a 10-question quiz. 4. KANJI: meaning, on'yomi, kun'yomi, stroke count, animated stroke order, example words, and a trace-then-write-from-memory canvas with stroke checking. 5. WRITING: kanji tracing, typing practice with a romaji-to-kana keyboard, and sentence building by tapping word tiles. 6. LISTENING: TTS dialogues at normal and slow speed, dictation, 3 comprehension questions, and a toggle to show or hide text. 7. SPEAKING: roleplay scenes (shop, station, restaurant, office, hospital). The app speaks one side, the user answers by voice, and the app shows what it heard next to the target sentence with a match score and tips. Allow a type-instead option if recognition fails. 8. SPACED REPETITION: SM-2 algorithm. Wrong answers return sooner. A daily review queue badge on Home. 9. QUIZZES AND MOCK TESTS: weekly review test, and a full JLPT-style mock test at the end of each level (vocabulary and kanji, grammar, reading, listening). Pass mark 80% to unlock the next level. 10. PROGRESS: streak, words and kanji learned, accuracy by skill, weak-points list, and weekly charts. 11. AI TUTOR (online): chat practice that corrects my sentences, explains mistakes in English and Urdu, and role-plays conversations. 12. SETTINGS: show or hide furigana, romaji, English, Urdu, voice speed, dark mode, font size, reminder time, export and import progress backup. </features> <design> - Clean, calm, mobile-first. Large tap targets, one main action per screen, thumb-friendly bottom navigation. - Light and dark themes, high contrast, and comfortable large fonts for Japanese and Urdu. - Smooth but light animations. Works well on low-end phones and small screens. - Friendly progress feedback: XP, streaks, level badges, and short encouragement in English and Urdu. </design> <quality_rules> - Work in the phases below. Finish and test each phase before the next. - Write clean, typed, commented code with a clear folder structure (app, components, data, db, hooks, services, i18n, theme). - Handle errors: no internet, no microphone permission, and TTS voice missing (show how to install the Japanese voice). - Add unit tests for the SM-2 logic, quiz scoring, and level unlock rules. - Never claim an audio or speech feature works if it was not tested. State what needs a real device test. - Accessibility: screen-reader labels and scalable text. </quality_rules> <phases> Phase 1: Project setup, theme, i18n (English/Urdu with RTL), database schema, navigation. Phase 2: Onboarding, kana module, N5 content import, flashcards with SM-2. Phase 3: Kanji module with stroke-order and writing canvas. Phase 4: Listening and speaking modules. Phase 5: Quizzes, mock tests, progress screens, notifications. Phase 6: AI tutor via backend proxy, backup/export, polish, and Play Store / App Store build steps with EAS. </phases> <output_format> At the start: show the folder structure, the database schema, and the data JSON format. Then build Phase 1 completely with all files and run instructions. After each phase, give: what was built, how to run and test it on my phone, known limits, and a short ask to continue to the next phase. </output_format> Begin with Phase 1 now.
Sign in to leave a comment
Architecture diagrams will be automatically generated when the Project Manager creates tasks for your project.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!