Creative Expressions
The problem
A course-based education platform needs two genuinely different experiences on the same data — instructors managing a roster and content, students enrolling and tracking progress — without turning into two separate apps that drift apart.
What I built
One React front end with role-aware routing and dashboards, an Express/MongoDB API behind it, and JWT-based auth that carries the user's role through every request so the same components can render differently depending on who's looking. Course CRUD, enrolment and instructor tooling all sit behind the same permission checks at the API layer, not just hidden in the UI.
Where it landed
A working platform deployed and reachable end to end, and a clean reference for how I structure role-based access when a project doesn't (yet) justify a heavier auth system.
