A Netflix-style learning platform that transforms long lectures into bingeable episodes with AI-powered study tools.
BadgerFlix converts audio/video lectures into structured, episode-based courses. Students can learn at their own pace with AI-generated flashcards, quizzes, and interactive tutoring.
- Episode Generation: Automatically breaks lectures into 4-6 digestible episodes
- AI Tutor: Real-time Q&A based on episode content
- Study Tools: Auto-generated flashcards, quizzes, and presentation slides
- Progress Tracking: Movie-themed achievements and learning streaks
- Netflix-Style UI: Familiar, engaging interface for content consumption
- Frontend: Next.js 14, TypeScript, Tailwind CSS
- Backend: FastAPI, Python 3.11+
- AI: Google Gemini 2.5 Flash
- Storage: In-memory (production-ready database integration available)
- Node.js 18 or higher
- Python 3.11 or higher
- Google Gemini API key (Get one here)
- Clone the repository:
git clone https://github.com/kesavn-13/BadgerFlix.git
cd BadgerFlix- Set up the backend:
cd backend
pip install -r requirements.txt- Configure environment variables:
# Create .env file in backend directory
echo "GEMINI_API_KEY=your_api_key_here" > .env- Start the backend server:
python main.py
# Server runs on http://localhost:8000- Set up the frontend (in a new terminal):
cd frontend
npm install
npm run dev
# App runs on http://localhost:3000- Student:
student@lectureflix.com/student123 - Instructor:
instructor@lectureflix.com/instructor123
BadgerFlix/
├── backend/
│ ├── main.py # FastAPI application
│ ├── ai.py # Gemini AI integration
│ ├── models.py # Data models
│ └── storage.py # In-memory data storage
├── frontend/
│ ├── app/ # Next.js app directory
│ │ ├── page.tsx # Homepage
│ │ ├── login/ # Authentication
│ │ ├── student/ # Student dashboard
│ │ └── episode/ # Episode pages
│ └── lib/
│ └── api.ts # API client
└── README.md
GET /subjects- List all course subjectsGET /subject/{subject}/courses- Get courses by subjectGET /course/{id}- Get course detailsGET /episode/{id}- Get episode contentPOST /upload-lecture- Upload and process lecture filePOST /episode/{id}/ask-ai- Query AI tutorPOST /episode/{id}/flashcards- Generate flashcardsPOST /episode/{id}/quiz- Generate quizPOST /episode/{id}/slides- Generate slides
Full API documentation available at http://localhost:8000/docs when the backend is running.
See DEPLOYMENT.md for deployment instructions.
Recommended platforms:
- Frontend: Vercel
- Backend: Railway or Render
cd backend
uvicorn main:app --reloadcd frontend
npm run devMIT License