case://study-009
Web App
Project 009

LessonForge

LessonForge is a teaching dashboard for language tutors. Multi-page rich-text lessons, a built-in timer (stopwatch + countdown with Web Audio chime), student profiles, drag-and-drop reordering, a categorised toolkit of grammar / vocab / pronunciation cards, 50-step undo/redo history, ⌘K command palette across pages + cards + students, 6 starter-lesson templates, JSON + Markdown export, dark mode. Vite + vanilla JS + localStorage, full offline persistence via PWA.

Multi
Pages
50
Undo Steps
None
Backend
Web App
Category
The Problem

What Wasn't Working

Most lesson-prep tools either lock you into a SaaS subscription or expect you to live inside Google Docs / Notion. Tutors need to open a tab between Zoom calls, swipe pages, hit space for the timer, scribble while the student is talking.

The Solution

How I Fixed It

Vanilla JS app with a real undo/redo ring buffer, rich-text contenteditable bodies, and a full state-snapshot-per-action pattern. v2 added a custom <dialog> modal system, PWA, ⌘K command palette, voice-aware audio chime, and 6 starter-lesson templates.

Stack

Technologies Used

Vite
Vanilla JS
PWA
Service Worker
Web Audio API
Results

Key Outcomes

Full offline persistence — once the tab loads, no network needed
Custom <dialog> modal system replaces every native confirm()/alert()
⌘K palette across pages + students + toolkit cards
JSON + Markdown export for share-ready lesson handouts

Want something like this?

Let's build it. I ship fast and I ship clean.