allProjects

Lumina — Learning Platform

Courses, live sessions, one-to-one consulting and verifiable certificates, from both sides of the exchange

2026
Next.js
React
TypeScript
Tailwind CSS
PostgreSQL
overview

A full learning platform built on Next.js for a training and consulting company. It is two products sharing one codebase: learners browse a filtered catalogue, work through video, document and written lessons in a single player, keep progress tracked lesson by lesson, bookmark the exact moment something made sense, join live workshops, and finish with a certificate anyone can verify from a serial — no account needed. Publishers get the other half: publish a course, open consulting slots with their own hours, rates and notice period, and get paid in dinars. The whole interface is bilingual, themed light and dark, and adapts from a 390px phone to a wide desktop.

whatItDoes
01

One player, three lesson types

Video, documents and written lessons live in the same player, so a course can mix formats without the learner changing context.

02

Progress that survives

Tracked lesson by lesson and resumed exactly where it was left off, on any device the learner signs in from.

03

Bookmarks with notes

Save the precise moment something clicked, attach a note, and find it again across every course taken.

04

Verifiable certificates

Each certificate carries a serial that anyone can check on a public page — no account required to confirm it is real.

05

Catalogue that filters properly

Full-text search over titles, topics and instructors, plus category, level and sort, all reflected in the URL.

06

Publisher studio

Instructors publish courses or open consulting slots, set their own hours, rates and notice period, and track what they are owed.

07

Live sessions

Scheduled workshops and office hours where instructors and learners meet in real time rather than through a comment box.

08

Bilingual and themed

Every screen ships in English and French with a light and dark theme, switchable without a reload.

onPhone
onWide
stack
Next.jsReactTypeScriptTailwind CSSPostgreSQL

ctaTitle

ctaBody