Project Info
Inspiration
Education is evolving, but professors often struggle to gauge real-time student understanding during lectures or identify key learning gaps from homework. Inspired by the idea of using AI to bridge this gap, we set out to build a solution that provides professors with deeper, actionable insights—making classrooms more interactive and helping students succeed.
What it does
ClassPulse is an AI-powered assistant for professors that helps them better understand their students through two key approaches: Real-time Classroom Insights: ClassPulse listens to live lectures and generates questions for the class. It collects student responses and provides immediate insights on how well students are grasping the content. Homework Analysis: ClassPulse grades homework automatically and performs detailed question-level analysis to surface common mistakes and trends. This helps professors pinpoint where students struggle the most and adjust their teaching accordingly.
How we built it
Backend: Node.js for building APIs, PostgreSQL for data storage, and OpenAI/Gemini APIs for natural language processing. Frontend: Next for the user interface, offering a dashboard for real-time insights and homework analysis. AI Models: Used OpenAI and Google for grading, text analysis, summarization, and question generation. Architecture: Designed a scalable system, integrating real-time data processing and background jobs for homework insights.
Challenges we ran into
Real-Time Performance - one of our biggest technical challenges was optimizing the real-time performance of our system. When a professor creates a learning check in the middle of lecture, we needed to process audio, video, and slides both quickly and reliably. Complexity of AI Workflows - managing multiple AI workflows, from generating contextual questions to grading responses and extracting insights, required careful development to ensure both quality and reliability across different types of lecture content and student responses.
Accomplishments we're proud of
Successfully built an AI system that integrates presentation slides, professor audio, and the video recording to generate questions and provide insights during lecture in real-time. Developed advanced NLP pipeline that grades questions, classifies errors, and identifies gaps in student knowledge, allowing professors to make data-driven decisions. Created a full platform experience, including a user-friendly interface that makes complex insights easy to understand and visualize
What we learned
Multi-modal data processing - techniques for summarizing large amounts of diverse educational data into concise, actionable insights AI system architecture - designing scalable systems that orchestrate multiple AI models while maintaining reliability Full-Stack Integration - bridging modern frontend frameworks and visualizations with AI-powered backends to create a seamless, responsive classroom platform
What's next
Enhanced Student Insights: Expand analysis to include long-term trends in student performance across multiple assignments and lectures. Student Engagement Tools: Introduce interactive features for students, such as personalized feedback and progress tracking. Broader AI Model Support: Integrate new AI models like Deepseek and Perplexity for even more accurate question generation and grading.
🚀 ClassPulse
Demo: https://www.youtube.com/watch?v=OtibH1TkmZw
💡 Inspiration
Education is evolving, but professors often struggle to gauge real-time student understanding during lectures or identify key learning gaps from homework. Inspired by the idea of using AI to bridge this gap, we set out to build a solution that provides professors with deeper, actionable insights—making classrooms more interactive and helping students succeed.
🎯 What it does
ClassPulse is an AI-powered assistant for professors that helps them better understand their students through two key approaches:
🎓 Real-time Classroom Insights
- Listens to live lectures and generates targeted questions
- Collects and analyzes student responses in real-time
- Provides immediate feedback on student comprehension
- Helps professors adjust their teaching on the fly
📚 Smart Homework Analysis
- Automated grading with detailed question-level analysis
- Identifies common mistakes and learning patterns
- Surfaces actionable insights for targeted intervention
- Saves professors countless hours of manual grading
🛠 How we built it
Backend Architecture
- FastAPI for robust API development
- PostgreSQL via Supabase for scalable data storage
- OpenAI/Gemini APIs for advanced NLP capabilities
- Background jobs for homework analysis
Frontend Stack
Next.js 15 | React 19 | TypeScript | Tailwind CSS | shadcn/ui | Recharts
AI Integration
OpenAI API | Google Gemini Pro | Natural Language Processing | Pattern Recognition
🎯 Challenges we ran into
- Summarization Accuracy: Fine-tuning AI prompts to generate meaningful insights without overwhelming users
- Real-time Processing: Optimizing the system for immediate feedback during live sessions
- Data Integration: Seamlessly combining insights from multiple sources
🏆 Accomplishments that we're proud of
- Built a real-time AI system that enhances classroom engagement
- Automated homework analysis with actionable insights
- Created an intuitive interface for complex data visualization
- Integrated multiple AI models for enhanced accuracy
🎓 What we learned
- Advanced techniques for educational data summarization
- Integration strategies for multiple AI models
- Real-time data processing and visualization
- Building scalable education technology
🚀 Quick Start
Backend Setup
- Clone and setup environment:
git clone https://github.com/speedstorm1/treehacks25.git
cd treehacks25/treehacks-backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
- Configure environment variables in
.env:
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key
GOOGLE_API_KEY=your_google_ai_api_key
OPENAI_API_KEY=your_openai_api_key
- Start the server:
uvicorn main:app --reload --port 8000
Frontend Setup
- Install dependencies:
cd ../treehacks-frontend
npm install
- Configure environment variables in
.env.local:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
- Start development server:
npm run dev
Visit http://localhost:3000 to see the app in action!
📈 What's next for ClassPulse
- Enhanced Student Insights: Long-term performance tracking across assignments
- Student Engagement Tools: Interactive features for personalized feedback
- Broader AI Integration: Support for new models and improved accuracy
- Analytics Dashboard: Advanced visualization of learning patterns
- Mobile Support: Real-time insights on the go
🔌 API Documentation
Sessions
GET /api/sessions # List all sessions
POST /api/sessions # Create new session
GET /api/sessions/{id} # Get session details
GET /api/sessions/{id}/stats # Get session statistics
Assignments
GET /assignment # List assignments
POST /assignment # Create assignment
GET /assignment/{id} # Get assignment details
GET /assignment/{id}/insights # Get assignment insights
Topics
GET /api/topics # List topics
POST /api/topics # Create topic
PUT /api/topics/{id} # Update topic
DELETE /api/topics/{id} # Delete topic
🤝 Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
This project is licensed under the MIT License.
🙏 Acknowledgments
- Built with ❤️ during TreeHacks 2024
- UI components from shadcn/ui
- AI features powered by OpenAI and Google's Gemini Pro
Analysis
View
Metric
- 34
- 21
- 18
- 13
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- Next.jsIn code
- OpenAIIn code
- PythonIn code
- ReactIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
9 of 10 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
306 KB
Source files
79
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
speedstorm1/treehacks25
97 files · 887 KB · @ e2fcf79
Structure
Interface
52 files · 54%Screens, components and styles rendered to the user.
Application logic
25 files · 26%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript65%
- Python32%
- Markdown2%
- CSS1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
treehacks-backend/requirements.txt
pypi · 76- aiohappyeyeballs
- aiohttp
- aiosignal
- annotated-types
- anyio
- attrs
- beautifulsoup4
- bs4
- cachetools
- certifi
- charset-normalizer
- click
- deprecation
- distro
- fastapi
- filelock
- frozenlist
- gdown
- +58 more
treehacks-frontend/package.json
npm · 36- @hookform/resolvers
- @radix-ui/react-dialog
- @radix-ui/react-icons
- @radix-ui/react-label
- @radix-ui/react-progress
- @radix-ui/react-separator
- @radix-ui/react-slider
- @radix-ui/react-slot
- @radix-ui/react-tabs
- @radix-ui/react-toast
- @radix-ui/react-tooltip
- @supabase/supabase-js
- class-variance-authority
- clsx
- date-fns
- lucide-react
- next
- react
- +18 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.