Skip to content
All projects

elearning platform · react, tailwind, rest apis

LearnNova

An e-learning platform built around the part that usually gets neglected: staying with a course to the end.

LearnNova — e-learning platform case study cover

Overview

Courses are easy to start and easy to abandon

Structure that carries a learner through

LearnNova organises catalogue, course detail, lesson playback and progress into one React interface. Progress is visible on every screen a learner touches, so picking a course back up after a week never starts with a hunt for where they left off.

The problem

Online courses are easy to start and easy to abandon. The failure is rarely the content — it is that returning after a week begins with a hunt for where you left off.

The goal

Organise catalogue, course detail, lesson playback and progress into one interface where a learner can always see where they are, and get back to it in one action.

How it was built

  1. 01Discovery

    Following one learner end to end

    Rather than designing screens in isolation, the flow was drawn as a single path — browse, enrol, learn, resume — and each screen judged by whether it moved someone along that path or stalled them.

  2. 02Development

    A component system that scales with the catalogue

    React and Tailwind CSS carry a small set of reusable primitives — cards, filters, players, progress — consumed by every view and fed from REST APIs. Adding a course category is a data change, not a new page.

  3. 03Strategy

    Responsive as a requirement, not a pass at the end

    Learners move between phone and laptop mid-course, so every layout was built fluid from the first commit instead of being retrofitted with breakpoints once the desktop view looked right.

Project details

Role
Front-end design and development
Type
Web platform
Stack
React, Tailwind CSS, REST APIs

Key features

  • Course catalogue with filtering
  • Course detail and lesson playback
  • Progress visible on every screen a learner touches
  • Reusable component set — cards, filters, players, progress — fed from REST APIs
  • Fluid layouts built responsive from the first commit

Challenges

  • Designing the path, not the screens

    Screens designed in isolation produced a catalogue that looked fine and a journey that stalled. Drawing the flow as one path — browse, enrol, learn, resume — and judging each screen by whether it moved a learner along that path changed which screens were needed at all.

  • Keeping it legible as the catalogue grows

    A small set of primitives consumed by every view means adding a course category is a data change rather than a new page — which is what stops an interface degrading as content is added to it.

The Result

A learning interface that stays legible as the catalogue grows, and keeps a learner’s place visible on every screen they land on.

What I learned

Building responsive from the first commit was cheaper than retrofitting breakpoints once a desktop view already looked right. And the component system paid for itself the moment the catalogue grew: the constraint that everything reuse the same primitives is what kept the interface coherent.

Next projectShiftly

Want something like this built?

Tell me what you have in mind and I will come back with a plan, a timeline and a price.