← WORK

Guide on the Side

Capstone · UPEI Library · 2025–present

Role

Full-stack developer & Communication Rep

Team

5-person Agile team

Stack

PHPWordPressMariaDBCSS/SVGAgile

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.