AI-Powered Lecture Notes Generator with Multi-Agent Orchestration
Transform any YouTube lecture into comprehensive notes, flashcards, quizzes, and podcast discussions.
| Feature | Description |
|---|---|
| Real-Time Streaming | ChatGPT-style SSE streaming shows notes generating live |
| Multi-Agent AI | LangGraph orchestrates 3 agents running in parallel |
| Smart Caching | 99% cost reduction on repeat videos (7-day cache) |
| Study Tools | Auto-generated flashcards and quizzes |
| Audio Podcast | NotebookLM-style two-host discussions |
| PDF Export | Download professional markdown-formatted notes |
- Next.js 15 with App Router and Server Components
- React 19 with Streaming SSR
- Tailwind CSS v4 with OKLCH colors
- shadcn/ui + Magic UI for animations
- FastAPI with async/await
- LangGraph 1.0 multi-agent orchestration
- Gemini 2.5 Flash for summarization
- GPT-4o-mini for concept extraction
- ElevenLabs for podcast TTS
- PostgreSQL with SQLAlchemy 2.0 async
- Docker + Cloudflare Tunnel for backend API
- Cloudflare Workers for frontend hosting
┌─────────────────────────────────────────────────────────────┐
│ Frontend (Next.js 15) │
│ EventSource SSE → Real-time streaming UI │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Backend (FastAPI) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ LangGraph StateGraph │ │
│ │ │ │
│ │ Agent 1: Transcript Extractor │ │
│ │ │ │ │
│ │ ├────────────┬────────────┐ │ │
│ │ ▼ ▼ ▼ │ │
│ │ Agent 2: Agent 3: Agent 4: │ │
│ │ Notes Gen Concepts Study Tools │ │
│ │ (Gemini) (GPT-4o) (GPT-4o) │ │
│ │ [PARALLEL] [PARALLEL] [ON-DEMAND] │ │
│ │ │ │ │ │ │
│ │ └────────────┴────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ Save to PostgreSQL │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
- Python 3.12+
- Node.js 20+
- PostgreSQL (or Neon free tier)
- API Keys: Gemini, OpenAI, ElevenLabs
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Add your API keys
alembic upgrade head
uvicorn app.main:app --reloadcd frontend
npm install
npm run dev| Method | Endpoint | Description |
|---|---|---|
GET |
/api/process/stream |
SSE streaming processing |
POST |
/api/study-materials/generate |
Generate flashcards & quiz |
POST |
/api/podcast/generate |
Generate audio podcast |
GET |
/api/history |
List processing history |
GET |
/api/presets |
Demo video presets |
Full API docs: http://localhost:8000/docs
cd backend
cp .env.example .env.docker # Add your API keys + tunnel token
docker compose --env-file .env.docker up -d
docker compose exec api alembic upgrade headSee docker-compose.yml for infrastructure configuration.
cd frontend
npm install
npm run deployEnvironment variables are configured in wrangler.toml.
lectureflow/
├── frontend/ # Next.js 15 application
│ ├── src/app/ # App Router pages
│ ├── src/components/ # React components
│ └── wrangler.toml # Cloudflare Workers config
└── backend/ # FastAPI application
├── app/
│ ├── main.py # FastAPI app & endpoints
│ ├── models.py # Pydantic models
│ ├── agents/ # LangGraph orchestration
│ ├── tools/ # AI processing tools
│ └── database/ # SQLAlchemy models
├── docker-compose.yml # Docker orchestration
└── Dockerfile # Container build
| Metric | Value |
|---|---|
| Fresh processing | 15-30 seconds |
| Cached processing | < 1 second |
| Cost savings | 99% on repeat videos |
MIT License - see LICENSE for details.