Skip to content

AI-powered educational content generation platform. Input any topic and automatically generate animated video lectures with voice narration, interactive mind maps, PDF study guides, and PowerPoint presentations. Built for educators creating courses, students generating study materials, and content creators producing educational videos at scale.

License

Notifications You must be signed in to change notification settings

varunaditya27/EduSynth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ EduSynth

AI-Powered Educational Content Generation Platform

TEAM COGNICODE Varun Aditya Vishwaradhya S Aiholli Tushar P Dia Arora

License: MIT Python FastAPI Next.js TypeScript React PRs Welcome

Transform raw topics into comprehensive, interactive educational content with AI-powered animations, voice narration, and intelligent content structuring.

Features β€’ Architecture β€’ Getting Started β€’ Documentation β€’ Contributing


🌟 Features

πŸ€– AI-Powered Content Generation

  • Intelligent Topic Parsing: Automatically breaks down complex topics into digestible subtopics
  • Multi-Modal Content: Generate text, images, animations, and audio seamlessly
  • Adaptive Learning Paths: Creates personalized content flows based on learning objectives

🎨 Rich Media Production

  • Animated Presentations: Transform static content into engaging animations
  • Text-to-Speech Integration: Natural voice narration using ElevenLabs
  • Visual Content Synthesis: AI-generated images and diagrams via Google Gemini
  • Interactive Mind Maps: Visualize topic relationships with React Flow

πŸ“š Multi-Format Export

  • Video Lectures: Complete synchronized video presentations
  • PDF Documents: Professional-quality study materials
  • PowerPoint Presentations: Ready-to-use slide decks
  • Interactive Web Content: Engaging online learning modules

🎯 Smart Content Features

  • Gamified Learning: Interactive examples and executable code snippets
  • Prompt-Driven Animations: Dynamic content that responds to user interactions
  • Contextual Image Fetching: Relevant visuals automatically matched to content
  • Progress Tracking: Monitor learning journeys through integrated analytics

🏧 Architecture

System Overview

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#009688', 'edgeLabelBackground':'#ffffff', 'tertiaryColor': '#2563EB'}}}%% graph TD A[Frontend - Next.js + React] -->|REST| B[Backend - FastAPI] B --> C[Gemini AI] B --> D[Groq LLM] B --> E[PDF & PPTX Generator] B --> F[Cloudflare R2] B --> G[Supabase / Prisma] F --> H[File Storage] G --> I[User / Deck Data] style A fill:#000000,stroke:#ffffff,color:#ffffff style B fill:#009688,stroke:#00695c,color:#ffffff style F fill:#2563EB,stroke:#1e3a5f,color:#ffffff style G fill:#336791,stroke:#1e3a5f,color:#ffffff 
Loading

Technology Stack

Frontend

  • Framework: Next.js 16 with App Router
  • UI Library: React 19.2
  • Styling: Tailwind CSS 4
  • State Management: Zustand
  • Data Fetching: TanStack Query
  • Animations: GSAP & Framer Motion
  • Visualizations: React Flow / XYFlow
  • Code Highlighting: Highlight.js
  • Markdown: React Markdown with remark-gfm

Backend

  • Framework: FastAPI with Uvicorn
  • Language: Python 3.11
  • AI/ML: Google Gemini, Groq
  • Database: PostgreSQL with Prisma ORM
  • Storage: Cloudflare R2 (S3-compatible)
  • Auth: Supabase
  • Media Processing: MoviePy, Pillow, ReportLab
  • TTS: ElevenLabs
  • Visualization: NetworkX, Matplotlib

πŸš€ Getting Started

Prerequisites

  • Node.js (v20 or higher)
  • Python (v3.11)
  • npm, yarn, or pnpm
  • PostgreSQL (v14 or higher)

Quick Start

git clone https://github.com/varunaditya27/EduSynth.git cd EduSynth

Backend

cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt cp .env.example .env npx prisma generate npx prisma db push uvicorn app.main:app --reload

Frontend

cd ../frontend npm install npm run dev

πŸ“– Documentation

Project Structure

EduSynth/ β”œβ”€β”€ frontend/ β”‚ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ contexts/ β”‚ β”œβ”€β”€ lib/ β”‚ └── public/ β”‚ β”œβ”€β”€ backend/ β”‚ β”œβ”€β”€ app/ β”‚ β”‚ β”œβ”€β”€ routers/ β”‚ β”‚ β”œβ”€β”€ services/ β”‚ β”‚ β”œβ”€β”€ models/ β”‚ β”‚ β”œβ”€β”€ schemas/ β”‚ β”‚ └── core/ β”‚ β”œβ”€β”€ assets/ β”‚ β”œβ”€β”€ prisma/ β”‚ └── scripts/ β”‚ └── ai_generation/ 

Content Generation Pipeline

%%{init: {'theme': 'dark', 'sequence': {'actorFontFamily': 'monospace', 'messageFontFamily': 'monospace'}}}%% sequenceDiagram participant U as User participant F as Frontend participant B as Backend participant AI as AI Services participant DB as Database participant S as Storage U->>F: Submit Topic F->>B: POST /api/generate B->>AI: Generate Content Structure AI-->>B: Topic Breakdown B->>DB: Save Metadata par Content Generation B->>AI: Generate Text B->>AI: Generate Images B->>AI: Create Animations end AI-->>B: Generated Assets B->>S: Upload Files B->>AI: Generate Narration B->>S: Upload Final Video B-->>F: Content Ready F-->>U: Display Results 
Loading

🎯 Use Cases

  • πŸ“š Educators: Quickly generate lectures
  • πŸŽ“ Students: Personalized study guides
  • πŸ’Ό Corporate Training: Engaging modules
  • πŸ”¬ Researchers: Visualized concepts
  • 🌐 Creators: Educational video production

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push and open a PR πŸš€

πŸ“„ License

MIT License - See LICENSE


πŸ™ Acknowledgments

  • Google Gemini
  • Groq
  • ElevenLabs
  • Vercel
  • Supabase
  • Cloudflare

About

AI-powered educational content generation platform. Input any topic and automatically generate animated video lectures with voice narration, interactive mind maps, PDF study guides, and PowerPoint presentations. Built for educators creating courses, students generating study materials, and content creators producing educational videos at scale.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •