
This project is an AI-powered course creation and delivery platform designed to streamline how educational content is generated, reviewed, and consumed. It supports a structured workflow with three primary roles:
Admin
Tutor (Faculty)
Student
The system combines role-based access control, automated content generation, and a custom-built media pipeline to produce full-length educational videos from simple textual inputs.
Stack: Next.js, Node.js, NestJS, MinIO S3, PostgreSQL, Redis, BullMQ
To ensure a smooth and minimal-friction experience, authentication is handled exclusively via Google OAuth.
Once a user logs in:
The backend determines whether the user is new or returning
New users are routed to onboarding
Existing users are redirected to their respective dashboards
Tutors go through a verification-based onboarding process:
Pay an initial fee of ₹1000
Submit:
Educational credentials
Bank account details
Additional metadata
After submission:
Admin reviews the application
Tutors can be approved or rejected
Only approved tutors can create and publish courses.
Students complete a lightweight onboarding process:
Provide basic personal and academic information
No verification is required
Browse and enroll in courses
Track learning progress
Create courses using natural language input
Define difficulty level and constraints
Review and edit AI-generated course structures
Trigger full course generation
Tutors provide a simple textual description of a course. The system processes this input to generate:
A structured course roadmap
Chronologically ordered topics and subtopics
Each subtopic is treated as an independent unit and results in a separate video.
The platform uses a fully custom-built pipeline to generate videos without relying on traditional video generation systems.
Each course is structured as:
Main Topic → Subtopics
Each subtopic corresponds to one video.
For each subtopic, the system uses:
Main topic
Current subtopic
Compressed context from previous subtopics (key concepts summary)
This ensures continuity while avoiding redundant data processing.
A structured README file is generated in slide format
Content is organized for presentation-ready output
A detailed transcript is created
Includes timestamped segments for precise synchronization
Transcript is split based on timestamps
Audio is generated for each segment independently
Slides are converted into images
Each image corresponds to a specific segment
Video is built segment by segment
Images and audio clips are aligned using timestamps
Segments are appended progressively
This prevents full regeneration in case of failure.
Videos are stored securely
Access is restricted via backend-generated temporary links
Content is served only through the platform domain
The system uses a queue-based architecture for handling heavy background tasks.
Each subtopic video is processed as an independent job
Jobs are split into multiple stages:
Content generation
Audio generation
Image generation
Video compilation
Maximum of 3 retries per stage
Redis-based progress tracking
Restartable stages with persistent intermediate outputs
Each video follows a defined state machine:
CREATED → SCRIPT_READY → AUDIO_READY → VIDEO_READY → COMPLETED
This provides:
Clear observability
Easier debugging
Controlled retry mechanisms
Fully containerized using Docker
Backend and services orchestrated locally
Designed for asynchronous processing using queues
System currently runs on local infrastructure
Handles approximately 10 concurrent course generations
Beyond this, performance degradation occurs due to resource-heavy processing
End-to-end automation from text input to video output
Custom-built media generation pipeline
Fine-grained control over each stage of content creation
Strong fault tolerance with resumable workflows
Backend Repository: https://github.com/aniketduttaAD/open-education-backend
Frontend Repository: https://github.com/aniketduttaAD/open-education-frontend
This project demonstrates how AI can be integrated into a structured system to automate complex educational workflows. Instead of relying on monolithic tools, the platform focuses on modularity, control, and reliability, making it adaptable for future scaling and enhancements.