Back to Archive
Case StudyMorshed EcosystemWeb Frontend

Morshed Educational Platform

Production web frontend for a complete digital education ecosystem.

Role
Frontend Architecture & Development
Timeline
Production
Industry
Educational Web Platform
Status
Live
morshed-educational-platform-coming-soon
Morshed Educational Platform — Web Frontend
01Overview

What this system is

Morshed is a digital education ecosystem rather than a course website. The frontend joins a structured curriculum, a standalone course catalogue, lessons and their media, assessments, subscriptions, and progress into one product — and then renders it differently depending on the account looking at it. The public surface presents the platform, its grades, its courses, and its subscription options; behind sign-in, a student reaches their own grade and entitled content while a parent reaches the students linked to their account. None of that content is hard-coded: it is read over REST from the Morshed Platform Management System.

02The Problem

What we needed to solve

Online learning products usually collapse into a catalogue of videos. A real school platform has to answer harder questions on every screen: which grade is this learner in, which subject and chapter does this lesson belong to, is this content included in what they paid for, how far through are they — and it has to answer them for a parent watching a child as well as for the learner.

03The Solution

How we shipped it

A frontend built around the curriculum tree rather than around a media list, with role-aware routing so student and parent journeys diverge after sign-in, entitlement checks in front of protected content, and progress carried through the learning path. It ships bilingual with full RTL/LTR layout mirroring, light and dark themes, and an image and loading strategy tuned for production delivery.

04Architecture

How the system is wired

The interface is organised the way the curriculum is, not the way a media library is. A student's path resolves downward through the tree, and every protected surface passes an entitlement check before it renders — which is why the same page can be a preview for one visitor and a full lesson for another.

Data flow
01
Grade

The learner's stage, which scopes every subject, chapter, and lesson they can reach.

02
Subject

A discipline inside that grade, holding its own chapters and their ordering.

03
Chapter

A unit of the subject, grouping the lessons that belong to it in sequence.

04
Lesson

The teaching surface itself — video, description, related content, and the learner's progress state.

05Tech Stack

Engineering choices

Frontend
Next.jsReactTypeScriptResponsive Web DesignServer-oriented RenderingInternationalized UIRTL / LTR LayoutsLight / Dark Theme
Backend
REST API
Integrations
REST APIRole-Based InterfacesSubscription-gated content
Infrastructure
Image OptimizationAVIF where supportedResponsive image sizingLazy loadingFont loading optimization
06Gallery

In the wild

Landing experience in dark theme — curriculum, courses, and subscriptions in the primary navigation
The same landing experience in light theme, live at murshied.com
01 / 02
11Challenges Solved

Hard problems, handled

Impact
Challenge 01

One product had to present two substantially different journeys — a learner's and a parent's — without becoming two codebases.

Resolution

Role is resolved once after authentication and drives routing and navigation, letting the shared curriculum, course, and lesson surfaces stay a single implementation.

Impact
Challenge 02

Subscription-gated content risked being enforced only by not linking to it.

Resolution

Access checks sit in front of protected surfaces, so entitlement decides what renders rather than whether a route was advertised.

Impact
Challenge 03

Media-heavy educational pages are exactly the pages that get slow first.

Resolution

Course, teacher, avatar, and hero images were given responsive sizing and modern formats, lazy loading below the fold, and a reviewed hydration and font-loading path to protect the largest contentful paint.

Impact
Challenge 04

Static marketing figures on the landing page went stale the moment the platform grew.

Resolution

Public statistics were rewired to the platform's own data — students, lessons, grades, subjects, courses — so the page describes the product as it currently is.

12Performance

Built to stay fast

Responsive image sizing across course, teacher, avatar, and hero imagery.
AVIF served where the browser supports it, with fallbacks elsewhere.
Lazy loading below the fold; priority reserved for genuinely above-the-fold media.
Reduced main-thread work and a reviewed hydration path.
Optimised font loading, and a CSS and JavaScript review aimed at largest contentful paint.
13UI / UX

Design and interaction

Navigation, cards, content, and the educational interface hold their shape from 320px to large desktop.
RTL and LTR layouts mirror rather than merely translate.
Light and dark themes defined down to hover and focus states.
Role-aware navigation so a learner and a parent are never shown each other's tools.
No horizontal overflow at any supported width.
14Production Readiness

Ready to ship and operate

Live in production at murshied.com.
Content, curriculum, courses, and pricing administered externally, so the frontend ships independently.
Entitlement enforced in front of protected content rather than by hidden links.
Image, font, and bundle strategy tuned for delivery on modest connections.
15System Features

What it does

Student Dashboard

A learner reaches only what belongs to their account: their grade, its subjects, the lessons and educational content inside them, enrolled courses, exams, progress, account settings, and whatever their subscription entitles them to.

Curriculum Architecture

Grade, subject, chapter, and lesson are navigable levels rather than tags. That structure is what lets the platform behave like an organised school rather than a shelf of unrelated videos.

Standalone Courses

Alongside the curriculum sits an independent course experience: browse the catalogue, open a course, read its details, discover its instructor, explore its content, and reach its lessons when entitled.

Lessons & Educational Content

A lesson can carry a video, a description, related content, a progress state, its subject or course relationship, and the access rules that decide whether it opens.

Video Experience

Video is played inside the platform as part of the lesson rather than handed to the visitor as a file to take away.

Assessments

Exams are part of the learning journey rather than a separate tool, tied to the content they test, to the learner's access permissions, and to their subscription.

Learning Progress

The platform treats content as a path, not a playlist: a learner's progress through it is tracked and surfaced rather than left to memory.

Parent Dashboard

A parent signs in to their own account, sees the students linked to it, switches between them, follows each one's progress, and reads the educational information available to them — a distinct experience, not a student view with a different label.

Role-Based User Experience

Student, parent, teacher, supervisor, and admin each resolve to their own navigation, pages, permissions, and content after sign-in.

Authentication & Accounts

Sign in, registration, session handling, password recovery, profile management, and role-based navigation once authenticated.

Responsive Experience

Smartphone, tablet, laptop, and large desktop all keep the same navigation, cards, content, and educational interface — without layout breaking or horizontal overflow.

Internationalized Interface

RTL and LTR are layout directions, not a translation toggle: navigation, ordering, and directional elements mirror with the language rather than only swapping strings.

Light & Dark Themes

Backgrounds, typography, cards, navigation, forms, educational content, and hover and focus states are all defined for both themes.

Platform Statistics

Figures shown on the public pages are derived from the platform's own data — students, lessons, grades, subjects, courses — rather than typed in as static marketing numbers.

16Technical Decisions

Why we chose what we chose

Decision 01

Build the navigation around the curriculum tree.

Grade, subject, chapter, and lesson are real levels in the data, so making them real levels in the interface keeps the URL, the breadcrumb, and the learner's mental model in agreement — and makes a lesson addressable by where it sits rather than by an id.

Decision 02

Resolve role after authentication, not per component.

Student and parent journeys diverge substantially. Deciding the route and navigation once at the boundary keeps every downstream page simple, instead of every component asking who is looking at it.

Decision 03

Gate protected content on entitlement, not on obscurity.

What a learner may open comes from what their subscription or purchase granted. Checking that in front of the content is the only version that holds once a link is shared.

Decision 04

Treat RTL as a layout concern.

Arabic is a primary language for this platform, not a translation of an English product. Mirroring the layout — navigation order, directional icons, alignment — is the difference between an Arabic interface and an English one with Arabic words in it.

Decision 05

Optimise media aggressively for the delivery context.

This platform is used on modest connections and mid-range phones. Course, teacher, avatar, and hero imagery were given responsive sizes and modern formats with AVIF where supported, lazy loading below the fold, and priority reserved for what is genuinely above it.

17Outcome

Results

Live
Status
Students & parents
Audiences
Grade → Subject → Chapter → Lesson
Curriculum depth
RTL & LTR
Directions
One product, two experiences

The system that operates this platform

Every account, grade, subject, lesson, course, exam, package, and page of copy this frontend renders is administered in the Morshed Platform Management System, which ships as its own case study.

Continue exploring

Other case studies

Building something similar?

Let's scope your platform — dashboard, mobile apps, APIs, the full stack.

WhatsApp