Case study

LearnLoop

A custom multi-role learning platform for French- and English-speaking diaspora learners, designed so students, teachers, admins, and owners each get the right dashboard, permissions, and workflow.

Role
UX Engineer / Product Designer
Scope
Role architecture, IA, UI system, implementation
Stack
React, Tailwind CSS, Supabase, RLS, Edge Functions, Stripe
Status
Pre-launch product
ProblemOne LMS, four different jobs

The platform needed to serve students, teachers, admins, and owners without cluttering anyone with tools they should not see.

My roleSystems UX and full-stack build

I designed the role model, learning spine, dashboards, permission rules, and bilingual product interface.

Key decisionPermissions are UX

RLS and a dedicated role table make access control part of the product design, not a layer hidden after the UI.

OutcomeFour secure experiences

The product delivers tailored flows for learning, authoring, administration, and ownership from one codebase.

LearnLoop admin dashboard live product screenshot
Live LearnLoop admin dashboard showing role-based navigation, language controls, platform metrics, course completion reporting, and certificate activity.

My contribution

Challenge

The client needed a real learning platform, not just a course list. Off-the-shelf LMS tools were expensive to bend toward a bilingual diaspora audience and did not provide the control needed for four distinct role experiences.

The design question became: how can one platform feel purpose-built for student, teacher, admin, and owner while keeping each role's tools and data strictly separated?

Build vs buy

Language ownership

Mainstream LMS plugins treat French as an add-on. This audience needed French as the default product language with English at parity.

Role separation

Four role experiences with strict boundaries are where generic plugins become awkward, expensive, and harder to reason about.

Experience ceiling

A custom React and Tailwind build gave me control over dashboards, learning flows, permissions, and visual consistency.

Success signals

The product was evaluated around whether each role could complete its core job without seeing unrelated tools or unsafe data.

  • Clarity per role: each user lands on a dashboard built around their job.
  • Effortless learning: students can enroll, resume lessons, take quizzes, and track progress without navigation ambiguity.
  • Confident authoring: teachers can build courses, lessons, and quizzes without touching platform-wide controls.
  • Trust and safety: grades, payments, and personal data are protected at the database level.

Information architecture

Student

Learn and finish through a focused course player, lesson quizzes, visible progress, and verifiable certificates.

Teacher

Create and teach through a scoped authoring studio for courses, lessons, quizzes, and their own students.

Admin / Owner

Manage content, users, payments, roles, platform settings, audit logs, backups, and security with tiered privileges.

Learning spine

Course

The top-level unit a student enrolls in, with support for free or paid access.

Lesson and quiz

Lessons contain video, text, or files. Lesson-level quizzes create a clear checkpoint before progress continues.

Progress and certificate

Students explicitly mark progress, complete required checks, and receive a verifiable certificate at the end.

Engineering decisions

Process rigor

A multi-role LMS is too large to build safely in one pass. I sequenced the work so each layer could be tested before adding the next.

  • Phase 0: auth, role hierarchy, database schema, RLS, and language switcher.
  • Phase 1: shared course data model.
  • Phase 2: student experience: enroll, learn, quiz, certificate.
  • Phase 3: teacher authoring studio.
  • Phase 4-5: admin and super-admin control surfaces, payments, audit logs, and security.

Issues resolved

Empty catalog

A missing database privilege created a silent catalog issue. Resolving it reinforced the need to test data visibility by role.

Quiz completion

Quiz logic initially allowed course completion without a passing score. I tightened the progression rule around learning integrity.

Media behavior

Videos rendered as bare links before being corrected into embedded lesson content, making the course player feel native.

Selected product direction

LearnLoop live admin dashboard interface
Live product interface showing the admin control surface: LMS navigation, reporting cards, charting, language selection, and permission-aware account controls.

Outcome

LearnLoop is feature-complete and pre-launch, with payments and 2FA re-enforcement as final steps before release.

  • Designed and built a complete four-role LMS from research through implementation.
  • Delivered role-tailored dashboards with strict data separation from one codebase.
  • Created a French-default bilingual interface with full English parity and resilient component layouts.