2026Full Stack Developer

Benkyō

A spaced-repetition Japanese learning platform built for Ateneo's Introduction to Japanese 11 class. Schedules vocabulary reviews around retention patterns and tracks daily study streaks — serving 50 real students.

  • TypeScript
  • Next.js
  • React
  • Tailwind CSS

Problem

Students in Ateneo's Introduction to Japanese 11 needed a consistent way to retain new vocabulary, but generic flashcard tools don't reflect how forgetting actually works — they review everything on the same cadence, wasting time on words you already know and under-reviewing the ones you don't.

Approach

I built Benkyō around a spaced-repetition system (SRS) that schedules each vocabulary item based on retention patterns, prioritizing low-recall words so study time targets what's most likely to be forgotten. A 7-day activity tracker surfaces engagement trends and nudges the daily-habit loop that makes SRS work, and the whole thing was deployed for a live class of 50 students.

Benkyō screenshot

Technical Decisions

Decision 01

Retention-driven review scheduling

The core of Benkyō is the SRS policy: each item's next review is computed from recall history, and low-recall items are surfaced first. Getting the interval policy right mattered more than the UI — it's what makes daily study compound instead of feeling like busywork.

Decision 02

7-day activity tracker for habit formation

SRS only works if people show up daily, so I added a rolling 7-day activity tracker to make engagement visible and reinforce consistent review sessions — turning the data the app already had into a motivation surface.

Tradeoffs

Tuned for one class vs. general use

Benkyō was scoped to a specific course's vocabulary and cadence. That made it genuinely useful for those 50 students, but generalizing to arbitrary decks and languages is future work.

What I learned

  • 01

    Shipping to 50 real classmates is a sharper feedback loop than any solo side project.

  • 02

    The interval policy, not the interface, is where a study app lives or dies.

  • 03

    Making engagement visible is a feature, not a vanity metric.

Command Palette

Search the portfolio. Use arrow keys, Enter to select.