Guide on the Side
Capstone · UPEI Library · 2025–present
Role
Full-stack developer & Communication Rep
Team
5-person Agile team
Stack
The problem
UPEI Library runs interactive tutorials through a WordPress/Pressbooks plugin, but had no way to understand how students actually engage — which steps they complete, where they drop off, how they answer embedded questions. Any analytics solution also needed to comply with PIPEDA, Canada's federal privacy law.
Approach
I designed three custom MariaDB tables with an aggregate data pipeline that strips personally identifiable information at the point of collection. The admin dashboard offers multiple views — tutorial completion rates, step-by-step engagement metrics, per-question answer distributions — all rendered with pure CSS and inline SVG. Zero external CDN dependencies, which matters for a library system that prioritises stability and privacy.
Outcome
The system is live and serving UPEI Library. Instructors can export CSV reports to analyse engagement patterns across semesters. As Communication Rep, I drafted all sprint documentation, coordinated stakeholder reviews, and managed the team's GitHub repository.
What I learned
Designing for privacy constraints isn't limiting — it forces better architecture. Aggregate-first data modelling is more useful for educators than raw event logs anyway.
Next project
Electronic Medical Records →