Project Info

Virtual Teaching Assistant

Devpost

🎯 Overview ClassMind is an intelligent multi-agent AI system that revolutionizes how students interact with their educational content. By seamlessly integrating with Google Classroom, ClassMind provides 24/7 personalized assistance, helping students navigate coursework, understand assignments, access materials, and stay on top of deadlinesβ€”all through a natural, conversational interface. Built with cutting-edge technologies including LangGraph, FastAPI, Next.js, and Claude AI, ClassMind transforms the traditional teaching assistant experience into an always-available, context-aware digital companion that understands each student's unique academic journey. 🚨 Problem Statement The Challenge Students today face overwhelming academic pressures: Information Overload: Multiple courses, dozens of assignments, countless announcements scattered across platforms Limited Support: Teaching assistants have office hours constraints and can't provide 24/7 support Fragmented Systems: Students must manually navigate between course materials, announcements, submissions, and deadlines Repetitive Questions: TAs spend significant time answering the same logistical questions repeatedly Real-World Impact 73% of students report feeling overwhelmed by coursework management (Source: Academic surveys) Office hours utilization drops significantly for students in different time zones Common questions about deadlines, materials, and logistics consume 30-40% of TA time Students often miss important announcements buried in notification overflow What Students Need An intelligent assistant that: Understands their specific courses and context Provides instant, accurate answers about assignments and deadlines Retrieves relevant course materials automatically Works 24/7 across all time zones Learns from actual course data, not generic responses ✨ Key Features πŸ€– Multi-Agent AI Architecture ClassMind uses a sophisticated LangGraph workflow with specialized agents: Router Agent: Intelligently classifies student queries and identifies relevant courses Logistics Agent: Handles course schedules, announcements, and organizational questions Coursework Agent: Provides detailed information about assignments, due dates, and requirements Materials Agent: Retrieves and explains course materials, PDFs, links, and resources Submissions Agent: Tracks submission status and grades (for staff) Composer Agent: Synthesizes responses with proper formatting and citations Guard Agent: Ensures response quality and policy compliance πŸ“š Seamless Google Classroom Integration Real-time data access to courses, assignments, announcements, and materials OAuth 2.0 authentication with automatic token refresh Direct API integration - no screen scraping or workarounds Comprehensive scope coverage for full Classroom functionality πŸ’¬ Real-Time Streaming Chat Interface Beautiful, responsive UI built with Next.js 14 and Tailwind CSS Modern chat experience with message history and context awareness Typing indicators and streaming text for better UX πŸ” Role-Based Access Control Student Role: Access to enrolled courses, assignments, and personal data TA Role: Additional access to student submissions and grading Professor Role: Full course management and analytics capabilities Secure database (Prisma ORM) for user management and token storage πŸ“Š Context-Aware Responses Course-specific answers based on actual Classroom data Fallback handling for ambiguous or unclear queries Guardrail ensures responses comply with user permissions and Classroom API access scopes πŸ’‘ Why This Matters? For Students Save 5-10 hours per week on administrative tasks and information hunting Never miss deadlines with instant access to due date information Reduce academic stress through 24/7 support availability Get immediate answers without waiting for office hours Focus on learning instead of navigating platforms For Teaching Assistants Reduce repetitive question load by 60-70% Focus on complex, high-value student interactions Scale support without increasing TA hours Track common student questions for curriculum improvement Provide consistent answers across all students For Educational Institutions Improve student success rates through better support Enhance learning experience with modern technology Reduce support costs while increasing availability Demonstrate innovation in educational technology Support hybrid and remote learning effectively Broader Impact ClassMind represents a shift toward democratizing educational support. By making intelligent assistance available to all students regardless of time zone, language barriers, or TA availability, we're creating more equitable learning opportunities. This technology can be scaled across institutions, potentially helping millions of students worldwide. πŸ› οΈ Tech Stack Frontend (Web Application) Framework & Core: Next.js 14 - React framework with App Router for modern server/client rendering React 18 - Component-based UI library TypeScript - Type-safe JavaScript for reliability Authentication & Database: NextAuth.js v5 - Complete OAuth 2.0 authentication with Google Prisma ORM - Type-safe database client and schema management SQLite - Database for user data and token storage UI & Styling: Tailwind CSS - Utility-first CSS framework shadcn/ui - High-quality React component library Lucide React - Modern icon library clsx & tailwind-merge - Dynamic styling utilities API Integration: Fetch API - RESTful communication with backend Google Classroom API - Direct course data access Backend (Agent Service) Framework & Core: FastAPI - High-performance Python web framework with async support Uvicorn - Lightning-fast ASGI server Pydantic - Data validation and settings management AI & LLM Stack: LangGraph - Multi-agent workflow orchestration and state management LangChain - LLM application framework with tool integration Anthropic Claude - Primary language model for agent reasoning OpenAI GPT-4 - Alternative LLM support Google Integration: google-api-python-client - Official Google API client google-auth - OAuth 2.0 authentication library google-auth-oauthlib - OAuth flow management google-auth-httplib2 - HTTP request authorization Utilities: PyPDF2 - PDF text extraction for materials analysis python-dotenv - Environment variable management Architecture & Design Patterns Backend Architecture: Multi-agent system with specialized agents for different query types State machine pattern via LangGraph for workflow orchestration Tool-based architecture for modular functionality Dependency injection for tool context management Frontend Architecture: Server components for initial rendering and data fetching Client components for interactive UI elements API route handlers for secure backend communication Middleware for authentication and authorization Integration Patterns: Event-driven streaming for real-time responses Token refresh middleware for seamless authentication CORS configuration for cross-origin requests Error boundaries for graceful failure handling Development & DevOps Package Management: npm - Frontend dependency management pip - Python package management Virtual environments for isolated Python dependencies Database Management: Prisma Migrate - Schema versioning and migrations Prisma Studio - Database GUI for development Code Quality: ESLint - JavaScript/TypeScript linting TypeScript Compiler - Static type checking Python type hints - Static typing for Python code 🚧 Limitations and Future Work HIGH PRIORITY πŸ”΄ 1. Vector Database for Course Materials Current Limitation: Materials are fetched on-demand but not indexed for semantic search. Proposed Solution: Implement Pinecone or Weaviate vector database Extract and embed text from PDFs, slides, and documents Enable semantic search: "Find information about neural networks in week 5 materials" Benefits: Much more intelligent material retrieval, better context for answers Impact: Would transform ClassMind from retrieval-based to true knowledge-based assistant. 2. Assignment Submission Tracking Current Limitation: Students can't track their submission history or get reminders. Proposed Solution: Implement classroom.student-submissions.me.readonly scope usage Track submitted vs. unsubmitted assignments Proactive notifications: "You have 2 assignments due this week" Integration with calendar apps for deadline reminders Impact: Reduces missed deadlines significantly based on similar systems. 3. Multi-Language Support Current Limitation: English-only interface and responses. Proposed Solution: Language detection in router agent Multilingual prompts for Claude AI Support for Spanish, Mandarin, Hindi, Arabic (top educational languages) Impact: Makes ClassMind accessible to international students and global institutions. 4. Production Database Migration Current Limitation: Using SQLite (development database). Proposed Solution: - Migrate to PostgreSQL for production MEDIUM PRIORITY 🟑 5. Conversation History & Context Memory Current Limitation: Each query is independent - no memory of previous conversation turns within a session. Proposed Solution: Implement Redis-based session storage Store last 5-10 conversation turns Update LangGraph state to include conversation history Enable follow-up questions: "What else do I need to know?" after previous query Impact: More natural conversations, better context understanding. 6. Analytics Dashboard for Instructors Current Limitation: No insights into common student questions or knowledge gaps. Proposed Solution: Build analytics dashboard showing: Most common questions by course Topics students struggle with Peak usage times Query categories distribution Most common questions by course Topics students struggle with Peak usage times Query categories distribution Help instructors identify areas needing clarification Impact: Instructors can proactively improve course materials and announcements. 7. File Type Expansion Current Limitation: Limited support for specialized file formats (Jupyter notebooks, code files). Proposed Solution: Add syntax highlighting for code files Render Jupyter notebooks inline Support for SCORM/LTI learning packages Interactive preview for common file types Impact: Better support for CS and technical courses. 8. Peer Collaboration Features Current Limitation: Individual-only experience. Proposed Solution: Anonymous Q&A board where students can help each other ClassMind moderates and suggests answers from knowledge base Upvoting/downvoting system for answer quality Gamification elements (reputation points) Impact: Builds learning community, reduces load on system. LOW PRIORITY 🟒 9. Voice Interface Current Limitation: Text-only interaction. Proposed Solution: Integrate speech-to-text models Add text-to-speech for responses Voice commands: "ClassMind, what's my next assignment?" Impact: Accessibility improvement, hands-free operation. 10. Professor Workload Insights Current Limitation: TAs/Professors can't see their time savings. Proposed Solution: Calculate estimated time saved per TA Show question deflection rate ROI dashboard for institutional adoption Impact: Business case for wider adoption. 11. Integration with LMS Beyond Google Classroom Current Limitation: Google Classroom only. Proposed Solution: Canvas LMS integration Blackboard Learn integration Moodle support Universal LTI (Learning Tools Interoperability) connector Impact: Broader market reach and institutional adoption. 14. Advanced Guard Agent with Content Filtering Current Limitation: Basic guard agent doesn't filter harmful content comprehensively. Proposed Solution: Implement Moderation for content safety Academic integrity checking Plagiarism detection warnings Cheating prevention (don't provide direct answers to graded work) Impact: Maintains academic integrity, builds trust with institutions. Performance Optimizations ⚑ Future Performance Improvements: Caching Layer: Redis for frequently accessed course data (reduce API calls by 60%) Rate Limiting: Implement request throttling per user Load Balancing: Horizontal scaling for agent service Edge Functions: Deploy frontend to Vercel Edge for global latency reduction GraphQL API: Replace REST endpoints for more efficient data fetching Streaming Optimization: Compress SSE payloads, implement backpressure handling πŸ—οΈ Built With AI & Machine Learning LangGraph - Multi-agent orchestration LangChain - LLM framework and tools Anthropic Claude - Primary AI model Backend FastAPI - Python web framework Uvicorn - ASGI server Pydantic - Data validation Google Classroom API - Course data integration Frontend Next.js 14 - React framework NextAuth.js - Authentication Prisma ORM - Database management Tailwind CSS - Styling TypeScript - Type safety Infrastructure Google OAuth 2.0 - Identity provider SQLite/PostgreSQL - Data persistence Server-Sent Events - Real-time streaming 🎬 Summary ClassMind represents more than just a chatbotβ€”it's a fundamental rethinking of how students interact with educational technology. By combining state-of-the-art AI with practical integration into existing systems, we've created a solution that's both powerful and accessible. In a world where education is increasingly digital and distributed, ClassMind ensures that every student has access to immediate, intelligent support regardless of time zone, language, or resource constraints. We're not replacing teachers; we're amplifying their impact and giving them back time to focus on what matters most: meaningful human connections and deep learning experiences. The future of education is AI-augmented, and ClassMind is leading the way. πŸš€

Analysis

Compare with all teams

View

Metric

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

Found in codeClaimed only
  • AnthropicIn code
  • CSSIn code
  • FastAPIIn code
  • LangChainIn code
  • Next.jsIn code
  • PythonIn code
  • ReactIn code
  • Tailwind CSSIn code
  • TypeScriptIn code

9 of 9 appear in the indexed code.

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

228 KB

Source files

88

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars