Status: Public Beta · v0.1
Examine is a self-hosted, single-page exam suite for an MBA Financial Management course. It bundles 120 multiple-choice questions across 4 sets, 4 end-to-end Part 2 case studies (capital budgeting, NPV/IRR, sensitivity, and CFO memo), and per-student progress tracking — all client-side.
Live beta: see GitHub Pages on this repo (Settings → Pages).
- Per-student profiles. Each student creates their own profile on the device with an optional 4–8 digit PIN. Progress, attempts, sessions, and analytics are scoped to that profile only — students sharing a computer keep separate data.
- Practice & Exam modes. Practice gives instant feedback and explanations; Exam locks scoring until submission, with an optional timer.
- Browse / Study mode. All 120 questions filterable by set and topic. Click to reveal the answer + explanation.
- Analytics. Topic mastery, weakest-topic recommendation, 150-cell answer heatmap, and full session history.
- Part 2 Case Viewer. Six-step accordion per case: briefing → params → trap items → cash-flow build → sensitivity table → CFO memo. Step-by-step reveal so the build is teachable.
- Instructor toggle. Reveals correct-answer letters in the runner, useful for live class review.
- Tweaks. Light/dark theme, font scale, instant-feedback toggle, exam timer length.
Pure HTML + CSS + React (via UMD + Babel standalone). No build step, no backend.
Examine.html Entry point
styles.css Theme + components
data/exam-data.js All 4 exam sets + 4 case studies
js/storage.js Per-user localStorage layer
js/auth.jsx Login gate (sign in / sign up)
js/ui.jsx Icons + shared primitives
js/home.jsx Set picker
js/runner.jsx Practice / Exam runner + Results
js/browse.jsx Browse + Analytics
js/cases.jsx Part 2 case viewer
js/app.jsx App shell + Tweaks panel
This is a fully static site — open Examine.html in any modern browser. Because some browsers are picky about file:// script loading, the easiest way is:
cd Examine
python3 -m http.server 8000
# then open http://localhost:8000/Examine.htmlAll data stays in the browser's localStorage. There is no server, no analytics, no third-party tracking. The PIN is a lightweight client-side hash to keep casual users from opening another student's profile on a shared computer — it is not a strong password and does not encrypt data at rest.
- Client-only — clearing site data wipes profiles.
- PIN is a soft separator, not real auth. Don't use this to store anything sensitive.
- Question content is faculty-authored sample material for study; verify against your course materials before relying on it.
MIT — see LICENSE.