Vocabulary Practice System

Client-ready vocabulary trainer delivering 10+ learning modes, AI-style feedback, and zero-backend deployment in one week.

Upwork Engagement • Lead Frontend Engineer

  • Next.js
  • TypeScript
  • Vercel
  • Sheets
Vocabulary practice system dashboard showing progress tracking and learning modes

About the project

When the client requested a single-user vocabulary app with real-time progress and 10+ practice flows, I set out to prove that a sophisticated learning system could live entirely on the frontend.

I architected the experience in Next.js with TypeScript, powered by Zustand stores and a constants-driven configuration layer so every threshold, prompt, and practice mode stays maintainable and reusable.

The resulting product delivers professional polish, intelligent feedback, and instant deployments, backed by documentation that makes future language expansions straightforward.

Feature highlights

Mode orchestration

Centralised constants and Zustand slices power more than ten practice modes without duplicated logic or magic numbers.

Adaptive learning UX

Smart distractors, accent-tolerant validation, and context-aware prompts personalise every study session.

Client-side resilience

Completion locks, graceful error handling, and audio fallbacks keep the experience reliable without any backend services.

Results

Impact metrics captured during the engagement.

Delivery speed

7-day sprint

Scoped, built, and documented the entire learning platform within a single development week.

Session startup

<100 ms load

Fisher-Yates shuffling and cached datasets keep practice sessions responsive as vocabulary lists grow.

Browser compatibility

100%

Pure client-side architecture runs seamlessly across desktop and mobile with zero external services.

Challenges

Key obstacles and how I solved them.

Engineered fully client-side data pipelines, persistence, and state hydration so deployments stay frictionless.

Start a project

Share your product idea, timeline, and team. Reach me at myrskyi.work@gmail.com or use the form below.