StudyNotion — EdTech Platform
Course marketplace with video streaming, cloud media storage, and real-time notifications for instructors and learners.
- Role
- Full stack — MERN
- Year
- 2024
- Stack
- React · Node.js · MongoDB · WebSockets · Cloudinary
- Links
- Private

01
Overview
A course-selling platform with instructor and student roles. Instructors upload video lessons and structure them into sections; students purchase courses, track progress, and receive real-time updates when new content lands.
02
Problem statement
Most course platforms bundle too many features and hide the primitives an engineer would want to see: media upload, progress tracking, and live notifications. StudyNotion was built to keep those primitives visible.
03
Architecture
- 01Backend: Node/Express REST API with MongoDB, Cloudinary integration for video and image uploads, and a WebSocket channel for real-time notifications.
- 02Frontend: React SPA with Redux Toolkit for cart / auth state and React Query for server data.
- 03Media: signed uploads directly to Cloudinary from the client to avoid streaming through the API.
04
Tech stack
- React
- Node.js
- MongoDB
- WebSockets
- Cloudinary
05
Features
- Instructor course builder with sections and sub-sections
- Student dashboard with per-lesson progress tracking
- Direct-to-cloud media uploads with signed URLs
- Real-time notifications when new lessons are published
06
Challenges
- Large video uploads had to bypass the API — solved with signed Cloudinary URLs generated server-side.
- Keeping cart, auth, and course-progress state consistent across tabs — solved with a small storage sync layer.
07
Results
- End-to-end course lifecycle working from creation to consumption
- Zero API traffic for actual media bytes
08
Lessons learned
- For media, get the bytes off your own servers as fast as possible.
- Redux for global UI state and React Query for server state is a good split; mixing them is where bugs live.
09