nihongo-path

bySohaib Hassan

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

No preview

Comments (0)

No comments yet. Be the first!

Project Tasks

32 planning tasks
#1

Generate system requirement document

1m 17s0.2 cr used
Done
#2

Generate personas & user flows

0m 13s0.2 cr used
Done
#7

Create flow for Japanese Learner (N5–N2)

0m 11sCredits in parent
Done
#8

Create flow for AI Tutor Chat User (online)

0m 11sCredits in parent
Done
#9

Create flow for Content Maintainer / Importer

0m 10sCredits in parent
Done
#10

Landing

0m 50sCredits in subtasks
Paused
#30

Landing / Hero

0.85 cr needed
Paused
#31

Landing / Word Stack Card

0.85 cr needed
Paused
#32

Landing / Journey And Promise

0.85 cr needed
Paused
#33

Landing / Language Toggle

0.85 cr needed
Paused
#34

Landing / Begin Actions

0.85 cr needed
Paused
#11

Login

Credits in subtasks
Paused
#12

Home

Credits in subtasks
Paused
#13

Learn

Credits in subtasks
Paused
#14

Daily Lesson

Credits in subtasks
Paused
#15

Kana

Credits in subtasks
Paused
#16

Kanji

Credits in subtasks
Paused
#17

Writing

Credits in subtasks
Paused
#18

Practice

Credits in subtasks
Paused
#19

Listening

Credits in subtasks
Paused
#20

Speaking

Credits in subtasks
Paused
#21

Tests

Credits in subtasks
Paused
#22

Progress

Credits in subtasks
Paused
#23

AI Tutor

Credits in subtasks
Paused
#24

Settings

Credits in subtasks
Paused
#25

Attribution

Credits in subtasks
Paused
#26

Onboarding

Credits in subtasks
Paused
#27

Placement

Credits in subtasks
Paused
#28

Content Import

Credits in subtasks
Paused
#29

Sign Up

Credits in subtasks
Paused
#5

Architecture

0.2 cr needed
Paused
#6

Workspace task plan

0.2 cr needed
Paused

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Read product overview
Login: Sign in
AI Tutor: 1. Send message for correction
AI Tutor: 2. Switch explanation language
AI Tutor: 3. Start roleplay conversation
AI Tutor: 4. Retry when back online
AI Tutor: Clear conversation

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Read product overview
Login: Sign in
AI Tutor: 1. Send message for correction
AI Tutor: 2. Switch explanation language
AI Tutor: 3. Start roleplay conversation
AI Tutor: 4. Retry when back online
AI Tutor: Clear conversation