Back to all projects

PGS Learning App

Protected course content, without the friction.

Role
Full-Stack Developer
Timeline
2023 – 2024
Stack
Next.jsMongoDBStripe

The Problem

The client's video course content was being pirated and re-shared shortly after release, undermining sales. They needed real content protection without turning the app into something painful to actually use.

My Approach

I implemented signed, time-limited video URLs, device-aware session checks and watermarking, paired with a role-based access system so free, paid and admin users each see only what they should. The DRM layer is invisible to a legitimate learner and hostile to casual redistribution.

Key Features

DRM-protected playback

Signed, expiring video URLs with per-session watermarking to deter redistribution.

Role-based access control

Distinct free, paid and admin experiences enforced at the API layer, not just the UI.

Offline-resistant licensing

Playback checks tie content access to an authenticated, active session.

Stripe subscriptions

Recurring billing with automatic access revocation on cancellation.

Outcome

  • Meaningfully reduced unauthorized redistribution of course videos
  • Zero reported unauthorized access after rollout of session checks
  • Smooth playback experience preserved for legitimate learners