← All work

Spanish Learning Website

A spaced-repetition Spanish trainer: decks of words and sentences, typed recall in both directions, pronunciation playback, and progress saved in the browser.

Role
Frontend developer
Team
Solo
Status
Complete
Links
Code ↗
Study session screen
Study session: type the translation, switch direction between ES→EN and EN→ES, reveal the card, or play the pronunciation.

Problem

  • Vocabulary sticks through short, frequent recall rather than long sessions, so a few minutes of practice has to be frictionless and the schedule has to be kept for you.

What I built

  • Four screens (decks, study, progress, settings) over a single local collection of cards.
  • Each answer is graded by typed recall in either direction, and the grade decides when the card is next due.
  • Pronunciation through the browser's speech synthesis, with a selectable voice.
  • All state in browser storage, with CSV import and a full JSON backup so the collection survives a cleared browser.

Key decisions

  • Typing the translation instead of multiple choice: recall, not recognition.
  • No backend. The collection is personal, so local storage plus export is enough and the app deploys as static files.

Stack

  • JavaScript
  • HTML
  • CSS
  • Web Speech API
  • Local storage