WordQuest

A game-style PWA for memorizing English vocabulary with multiple-choice quizzes and time attack. Combos, scoring, and spaced repetition (SRS) help words stick while you play.

A PWA that turns English vocabulary study into a game. It combines multiple-choice quizzes and a time-attack mode with combos and spaced repetition (SRS) so words stick while you play. Import JSON / CSV word lists to build your own study sets.

Features

  • Multiple-choice quiz — English→Japanese, Japanese→English, and mixed prompts
  • Time attack — Score as many correct answers as you can in 60 seconds
  • Score / combo — Bonuses for answer streaks and speed
  • Spaced repetition (SRS) — Weak words appear more often; correct answers stretch the interval
  • Review list — See missed words on the result screen
  • Pronunciation — Web Speech API reads English words aloud (in meaning→word prompts it also speaks on selection)
  • Deck import — Add words by pasting JSON / CSV or selecting a file
  • PWA support — Works offline; add it to your home screen and use it like an app

Sample deck (for import)

A sample deck you can load from the in-app “Deck import” screen. It also serves as a format reference.

How to import: open “⚙ Settings” → “Deck import” in the app, then choose the file or paste its contents and save. CSV accepts a header row of word,phonetic,meaning,example,example_ja (or the Japanese equivalents); word and meaning are required.

Build a deck with generative AI (sample prompt)

Paste the prompt below into an AI such as ChatGPT to generate a deck in the JSON format that imports directly into the app. Edit [TOPIC] and [COUNT] before using it.

You are an assistant that builds English vocabulary decks.
Create word data under the conditions below and output JSON only.

- Topic: [TOPIC (e.g. business English)]
- Count: [COUNT (e.g. 20)] words
- For each word include: phonetic, Japanese meaning, an English example, and its Japanese translation
- Keep meanings concise and example sentences simple
- Output only the JSON below. Do not add explanations or code-fence markers.

{
  "name": "[TOPIC] [COUNT]",
  "words": [
    { "word": "example", "phonetic": "ɪɡˈzɑːm.pəl", "meaning": "例", "example": "This is an example sentence.", "example_ja": "これは例文です。" }
  ]
}

Copy the resulting JSON, then paste it into “⚙ Settings” → “Deck import” in the app and save to use it as your own deck.