Live alpha

Case study 01

Wasla

YouTube playlists, turned into structured courses.

Overview

Wasla is a video learning platform built around a simple idea: YouTube is full of great courses, but it is not built like a classroom. Wasla imports channels and playlists by ID, handle, or URL, then turns them into structured courses with progress tracking, categories, and search.

The challenge

The YouTube Data API gives you a lot of raw material but no course structure. The challenge was to model channels, playlists, and videos in a way that felt like a curriculum — without asking the user to organize everything by hand.

The approach

I built a React 19 front end with a Tailwind CSS interface that defaults to Arabic and switches cleanly to English. The Express API handles channel resolution and playlist imports; the UI groups videos into course-like units, stores progress locally, and lets you resume where you left off.

What it does

  • Import channels by ID, handle, or URL
  • Turn playlists into structured courses
  • Track progress and resume playback
  • Filter and search by category, time range, and sort order
  • Bilingual interface with Arabic as the default
  • Responsive, progressive web app experience

Technical notes

  • React 19 + Tailwind CSS front end
  • Node.js + Express 5 API layer
  • YouTube Data API for channel and playlist metadata
  • Vercel deployment

What I learned

Wasla taught me how much product thinking lives inside a data model. The difference between a playlist and a course is not technical — it is a set of assumptions about how people learn. Building the bilingual UI also forced me to design the layout for both directions from the start.