← Projects

Project

CFA and 408 Adaptive Learning Tools

Two local-first study prototypes connecting timed practice, mastery, mistakes, review dates, and self-assessment.

HTML · JavaScript · CSS · LocalStorage · Learning Analytics

Product Snapshot

Role
Independent frontend tool development
Users
CFA and Chinese CS 408 learners who need offline practice, weakness tracking, and review pacing.
Stage
Two working local frontend prototypes completed.
Focus
Deep-linked quizzes, timers, automatic scoring, subjective self-grading, mastery, and review scheduling.
Validation
The CFA tool covers subjects, drills, mistakes, and weaknesses; the 408 tool adds a 180-minute mock exam and split scoring.
Public Proof
Local HTML/JavaScript/CSS, CFA README, and working interactions; long-term learning impact has not been tested.

Next Step

Portfolio PDF About the Founder Email

Two tools, one gap

CFA and the Chinese computer-science 408 exam cover different material, but their study loops share a weakness: mistakes, mastery, and the next review date often live in separate places.

I built two local-first frontend prototypes to test how one practice session can become a continuing feedback loop.

CFA study site

The CFA tool includes subject overviews, lecture navigation, 30-minute drills, mind maps, focused packs, high-frequency pages, weakness analysis, and a mistake book. LocalStorage retains accuracy, mastery, and suggested review dates.

408 mock exam

The 408 tool implements a 180-minute timer, answer sheet, automatic objective scoring, subjective self-grading, and mastery classification. Exam state persists locally and can resume after interruption.

Design boundary

Neither prototype equates one correct answer with true mastery. They provide recording and review scheduling, but have not been validated through a longitudinal learning-gain study.

Transfer

These tools trained me to combine domain content, persistent state, and feedback pacing while keeping the distinction between measuring learning and improving it.


Configure the public Giscus environment variables to open discussion on the public site.