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.