The Build Journey
How the assistant came together, in phases.
Phase 1 · The problem
Slides and live voice were not enough
Absent residents and students who prefer text to audio kept falling through the gap between synchronous lectures and their learning objectives.
Phase 2 · The framing
Universal Design for Learning
The goal was set as "multiple means of representation" — the same lecture, offered in several formats, on local infrastructure for privacy.
Phase 3 · First build
The pipeline takes shape
A Perl/Mojolicious app with a SQLite job queue: upload → whisper.cpp transcript → Ollama-generated summary, study notes, learning objectives, and practice quiz, with live progress updates.
Phase 4 · Hardening
Made safe for real use
Authentication, CSRF protection, security headers, session hardening, upload validation, and end-to-end request and pipeline logging.
Phase 5 · Feedback rounds
Shaped by the course director
Iterative feature rounds driven by Dr. Thang's review: refining outputs, formats, and the human-in-the-loop controls so the educator stays in charge of clinical accuracy.
2026 · Education Day
Presented to the Faculty
Shared at Education Day 2026 alongside student feedback showing the value of multiple formats for consolidation and for bridging clinical absences.
Phases summarize the development arc rather than exact release dates. This page will be updated as the assistant evolves.