π Quick Start β’ β¨ Features β’ π Exam Simulators β’ π₯ Video Engine β’ π οΈ Tech Stack
StudyBud (internal codename: ElevenFolks) is a comprehensive AI-powered educational ecosystem. It bridges the gap between static textbooks and hyper-personalized learning by combining an offline-capable React PWA, a React Native mobile app, and a robust Supabase backend. It features state-of-the-art automated math/science animations via Python's Manim framework and is powered heavily by Google Gemini for semantic AI tutoring.
|
|
|
|
StudyBud is a monorepo containing a Web App, a Mobile App, and a heavily customized Dockerized Backend for Video Generation.
# 1. Clone the repository
git clone https://github.com/prathamhanda/study_bud.git && cd study_bud
# 2. Configure environment
cp env.template .env
# Edit .env with your Supabase keys, Gemini API keys, etc.
# 3. Start the Web App (Vite + React)
npm install
npm run dev
# 4. Start the Video Generation Backend (Docker required)
# This runs the Manim & FFmpeg pipeline on port 3001
docker compose up -d --build
# 5. Start the Mobile App (Expo)
cd studybud-mobile
npm install
npx expo startWeb app available at http://localhost:5173. Video Gen API at http://localhost:3001.
|
Simulators CBSE & CUET β’ 18 Subjects β’ Auto AI Fallback |
Manim Videos Python-generated β’ Formula animations β’ Dockerized |
AI Buddy Ranjan Sir β’ Voice/Text β’ Context-aware parsing |
Teacher UI Analytics β’ Class tracking β’ Resource sharing |
PWA & Offline IndexedDB caching β’ Service Workers β’ Mobile App |
Our mock exam engine is one of the most robust systems in the project, entirely driven by Supabase Edge Functions and Python ingestion pipelines.
- Class 10 (Secondary): Mathematics (Basic/Standard), Science, Social Science, English, Hindi.
- Class 12 (Senior Secondary): Physics, Chemistry, Math, Biology, Accountancy, Business Studies, Economics, Computer Science, Pol Science, History, Geo, Psychology, Sociology.
- Auto-pool creation: If a student requests a paper and the DB lacks questions, the system invokes Gemini via Edge Functions to bootstrap a new high-quality pool.
- Section-level fallback: Fills specific exact blueprint gaps (e.g., "Missing 2 case-study questions for Physics").
- Retry & Validation: 3 retry attempts per batch with lenient mapping for malformed AI JSON.
- Grounded Generation: Enforces strict adherence to CBSE syllabi.
Creating high-quality math animations usually takes hours. StudyBud automates this completely.
- Stack: Node.js (Express) spawning Python (
manimcommunity/manim) processes. - Workflow:
- User requests a concept video via Web UI.
- Edge function structures a script.
- Node.js backend queues a generation task.
- Python Manim renders the formulas and shapes to
.mp4. - File is served securely back to the frontend video player.
- Deployment: Packaged cleanly within a
Dockerfilemaintaining FFmpeg, LaTeX, and Python dependencies.
StudyBud deeply integrates Google Gemini AI and OpenAI (legacy/flex) across the platform:
| Feature | Description |
|---|---|
| Ranjan Sir (Study Buddy) | A persistent conversational UI that answers syllabus questions, formats code/math via KaTeX, and remembers context. |
| Guided Paper Solver | Step-by-step interactive resolution of complex exam papers instead of just providing an answer key. |
| Curriculum Generation | Monthly/Weekly breakdown of syllabus tailored to the student's exam date. |
| Teacher AI Insights | Scans class performance arrays and generates actionable text reports for educators predicting weakness areas. |
The platform uses a unified routing system tailored for different roles:
| Section | Capabilities |
|---|---|
/curriculum |
View syllabus, generate timeline, track completion. |
/cbse-simulator |
Configure papers, take exams, view AI-graded results. |
/ai-buddy |
Chat with Ranjan Sir, review uploaded notes context. |
/teacher |
Teacher isolated portal (Overview, Students, Daily Logs). |
/tools |
Pomodoro timers, To-do lists, Flashcards. |
ποΈ Project Architecture
StudyBud/
βββ π¦ package.json # Vite + React app dependencies
βββ π src/ # Web App Frontend
β βββ components/ # Reusable UI (Navbar, Inputs, Loaders)
β βββ pages/ # Route endpoints (ExamSimulator, Dashboard)
β βββ contexts/ # React Auth & State context
β βββ hooks/ # useToast, useOfflineStorage
β βββ lib/ # API Clients (Supabase, OpenAI, Video API)
β
βββ π supabase/ # Backend Infrastructure
β βββ functions/ # Serverless Deno Edge Functions
β β βββ assemble-papers/
β β βββ build-question-pool/
β β βββ generate-study-plan/
β βββ migrations/ # PostgreSQL Schema & RLS policies
β
βββ π scripts/ # Video Server & Data Pipelines
β βββ server.ts # Node.js backend for video rendering
β βββ generate-manim-video.ts
β
βββ π manim_engine/ # Python Animation Logic
β βββ scene.py # Base manim configuration
β βββ generator.py
β
βββ π studybud-mobile/ # React Native / Expo Application
β βββ app/ # Expo Router tabs and screens
β
βββ π³ docker-compose.yml # Video Server Orchestration
βββ π³ Dockerfile # Manim + Node.js Environment container
π Environment Variables
Create a .env file in the root based on env.template:
# Supabase Configuration
VITE_SUPABASE_URL=https://your-project-id.supabase.co
VITE_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_admin_key # Required ONLY for backend Video server
# AI & Media Config
VITE_GEMINI_API_KEY=your_google_gemini_key
VITE_OPENAI_API_KEY=your_openai_key
# Video Server
VITE_VIDEO_GEN_URL=http://localhost:3001/api/generateπ Available Scripts & Tooling
| Command | What it does |
|---|---|
npm run dev |
Starts the Vite React frontend |
npm run build |
Compiles PWA for production |
npm run serve-gen |
Starts the local Video Generation backend |
npm run generate-video |
Manually triggers the Manim Python pipeline |
supabase start |
(Supabase CLI) Boots local Postgres & Edge Functions |
π¨ UI & Styling
The UI features a unique "Neo-Brutalism" and bold aesthetic:
- Tailwind Custom Config: Heavy bold borders (
border-4 border-black), offset hard shadows (shadow-[4px_4px_0_0_#000]), and high contrast colors (neo-accent,neo-secondary). - Framer Motion: Page transitions, modal spring animations, and interactable hover effects.
- Math Rendering: Full
react-katexintegration for safely displaying LaTeX equations out of AI streams.
| Frontend (Web & Mobile) | Backend & Edge | Video & Data Ops |
|---|---|---|
|
|
|
We welcome contributions to expand the CBSE/CUET pipelines or improve the UI!
- Fork the repository
- Create your feature branch:
git checkout -b feature/NewSimulator - Commit your changes:
git commit -m 'Add NewSimulator' - Push to the branch:
git push origin feature/NewSimulator - Open a Pull Request
- Supabase β For incredible Backend-as-a-Service architecture.
- Manim Community β For the legendary mathematical animation engine.
- Google Gemini β Powering the core cognitive logic.
Engineered with β€οΈ for the future of education




