Skip to content

prathamhanda/study_bud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

276 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ StudyBud (by ElevenFolks)

StudyBud

Master your curriculum. Generate dynamic video lessons. Ace your exams.

React Supabase Python Tailwind CSS Gemini License


πŸš€ Quick Start β€’ ✨ Features β€’ πŸ“ Exam Simulators β€’ πŸŽ₯ Video Engine β€’ πŸ› οΈ Tech Stack


🎯 What is StudyBud?

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.

πŸ‘¨β€πŸŽ“ For Students

  • Generate personalized, AI-driven study plans
  • Take full-length CBSE & CUET mock exams with real PYQs
  • Watch dynamically generated math/physics video lessons
  • Chat with "Ranjan Sir" (AI Study Buddy) for semantic Q&A

πŸ‘¨β€πŸ« For Teachers

  • Comprehensive classroom dashboard & student metrics
  • Review student weaknesses & AI-generated insights
  • Push assignments, mock tests, and announcements
  • Monitor daily logs and individual performance

πŸ€– AI Exam Generation

  • Self-healing Edge Functions automatically create missing exam questions
  • Strict adherence to CBSE Class 10 & 12 syllabi
  • Fallback mechanisms for structured, format-perfect outputs
  • Evaluates descriptive answers dynamically

πŸ› οΈ Study Tools

  • Built-in Pomodoro timers & task management
  • Flashcard generation & offline IndexedDB storage
  • Guided Paper Solvers & voice-based interactive lessons
  • Markdown & KaTeX support for complex formulas

Screenshots

coming soon
Student Dashboard β€” metrics, upcoming tasks & active plans
coming soon
Exam Simulator β€” CBSE/CUET testing with real-time UI
coming soon
Video Lessons β€” dynamically generated Manim animations
coming soon
Teacher Portal β€” classroom insights & student progression
coming soon
Ranjan Sir AI β€” context-aware multimodal study buddy

πŸš€ Quick Start

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 start

Web app available at http://localhost:5173. Video Gen API at http://localhost:3001.


✨ Feature Highlights

πŸ“

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

πŸ“ CBSE & CUET Simulators

Our mock exam engine is one of the most robust systems in the project, entirely driven by Supabase Edge Functions and Python ingestion pipelines.

Comprehensive Coverage (18 Subjects Fully Configured)

  • 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.

AI Fallback & Self-Healing Pools

  • 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.

πŸŽ₯ Automated Manim Video Engine

Creating high-quality math animations usually takes hours. StudyBud automates this completely.

  • Stack: Node.js (Express) spawning Python (manimcommunity/manim) processes.
  • Workflow:
    1. User requests a concept video via Web UI.
    2. Edge function structures a script.
    3. Node.js backend queues a generation task.
    4. Python Manim renders the formulas and shapes to .mp4.
    5. File is served securely back to the frontend video player.
  • Deployment: Packaged cleanly within a Dockerfile maintaining FFmpeg, LaTeX, and Python dependencies.

πŸ€– AI-Powered Features

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.

🧭 Application Structure

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.

πŸ“– Documentation

πŸ—‚οΈ 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-katex integration for safely displaying LaTeX equations out of AI streams.

πŸ› οΈ Tech Stack

Frontend (Web & Mobile) Backend & Edge Video & Data Ops
  • React 18 & Vite
  • React Native (Expo)
  • Tailwind CSS 3
  • React Router DOM
  • Framer Motion
  • React-KaTeX
  • Vite PWA
  • IndexedDB (idb)
  • Supabase (Postgres)
  • Supabase Auth (JWT)
  • Supabase Edge Functions (Deno)
  • Node.js & Express
  • Google Gemini API
  • OpenAI API
  • Python 3.10+
  • Manim (Community Edition)
  • FFmpeg & LaTeX
  • Docker & Docker Compose
  • Puppeteer / BeautifulSoup (Scraping)
  • pdf-parse & Tesseract.js (OCR)

🀝 Contributing

We welcome contributions to expand the CBSE/CUET pipelines or improve the UI!

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/NewSimulator
  3. Commit your changes: git commit -m 'Add NewSimulator'
  4. Push to the branch: git push origin feature/NewSimulator
  5. Open a Pull Request

πŸ™ Acknowledgments

  • 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

⬆ Back to top

About

StudyBud is a comprehensive AI-powered educational ecosystem which 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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors