An online academy for project management (PMP®, CAPM®, PMO, Risk). It has secure video courses, scored exams, "mistake" exams and verifiable certificates, plus a full admin dashboard.

Elevera PM Academy is a learning platform for project managers preparing for PMP®, CAPM®, PMO and risk management credentials. Students enroll in video courses, watch lectures, download resources, take scored exams and earn certificates that anyone can verify online.
I built both front-ends: the student website in Next.js and the admin dashboard in React + Vite. Both run on a NestJS + Prisma backend built by a teammate.
The academy taught through scattered videos and WhatsApp groups. It had no protected place for paid content, no proper exams, and no way to prove a student had actually finished a course.
One platform with protected HLS video streaming, exams with attempts and review, certificates that unlock based on watch progress and exam results, and a dashboard where the team runs courses, students, payments and emails.
Browse courses, enroll, watch lectures, take exams in Arabic or English, review their mistakes and download verified certificates.
Build courses and exams, approve payments and enrollments, manage reviews, FAQs and announcements, email students and monitor storage.
HLS playback through a same-origin proxy, so the browser never sees the backend or a token, and video segments use short-lived presigned URLs.
Timed exams with multiple attempts, scoring, an attempt review screen and an Arabic / English toggle for questions.
Automatically built exams from the questions a student got wrong, per exam or across the whole course, with eligibility checks.
Certificate templates with student code and minimum progress rules, PDF download, and a public verification page.
Admins upload a .docx file and the dashboard parses it in the browser into questions and answers, detecting numbering and answer markers.
InstaPay and manual payments with approval, subscriptions and enrollments, plus bulk actions.
A rich-text email composer with recipient selection and sent history, plus announcements on the website.
Dashboard stats, student profiles with progress and activity, and Cloudflare R2 storage metrics with range charts.
1 / 8Next.js App Router with server actions and session-based auth
Next.js route handlers forward calls, streams and downloads with the user's token
React + Vite SPA, organized by feature (courses, exams, payments, users…)
NestJS + Prisma API, with videos and resources stored on Cloudflare R2
Challenge
The courses are paid, so video URLs could not be shareable. The player also had to stay simple, without exposing the backend origin or the user's token to the browser.
Solution
The website serves the HLS manifest through its own route handler, which reads the session token on the server and fetches the manifest from the API. The segment URLs inside it are short-lived and presigned. hls.js only ever talks to the website itself, and nothing in the browser can be reused outside a logged-in session.
Challenge
Students wanted to practise exactly what they got wrong, but a mistake exam has many edge cases. It should include only questions never answered correctly across all attempts, not count against the regular attempt limit, be resumable if interrupted, and also work across a whole course.
Solution
Each exam card reads an eligibility object from the API: attempts used, unsolved mistake count, whether a mistake attempt already exists or is still running, and a ready-to-show reason when it can't start. The UI covers every state (start, resume, review, or why it's locked) for both single-exam and course-wide mistake exams, in Arabic and English.
Challenge
Instructors write their question banks in Word. Typing hundreds of questions by hand into a form was slow and error-prone.
Solution
The dashboard unzips the .docx in the browser, parses its XML and detects question numbering and answer markers from the paragraphs. The admin gets a preview of the structured questions to correct before saving.
I'd love to help you build something great. Tell me what you're working on.
Let's talk
A full-stack platform for a medical center. Patients can ask questions and get answers from specialist doctors, leave reviews, and contact the clinic.

A multi-tenant restaurant system: online ordering on each restaurant's own branded website, a POS inside the dashboard, and built-in restaurant accounting.

One QR code that opens a branded page for each business, with its menu, branches, social links and one-tap "save contact", plus a dashboard to manage it all.