Voice-first AI study companion that transforms your notes into interactive learning sessions
Note: To view commit history, also view this repo: https://github.com/parthib-paul/HackMIT
- π€ Voice-First Interface: Answer questions using speech recognition
- π Smart File Upload: Support for PDF, TXT, DOC, DOCX files
- π€ AI Question Generation: Anthropic Claude creates contextual questions
- π Real-Time Grading: AI-powered answer evaluation with detailed feedback
- π Progress Tracking: Visual progress bars and accuracy metrics
- π¨ Beautiful UI: xAI-inspired design with dynamic particle background
- π Interactive Sessions: Follow-up questions and adaptive learning
- Python 3.8 or higher
- Git
- Anthropic API key (optional, has fallback mode)
git clone https://github.com/parthib-paul/HackMIT.git
cd HackMITpip install -r requirements.txtCreate a .env file in the project root:
You will need to add an anthropic_api_key in env file and add a open_ai api key.
Note: The app works without API keys using smart fallback questions!
python3 app.pyNavigate to: http://localhost:8080
- Upload Study Materials: Drag & drop or click to upload your notes (PDF, TXT, DOC, DOCX)
- Start Study Session: Click "Start Study Session" to generate AI questions
- Answer Verbally: Use the microphone to record your answers
- Get AI Feedback: Receive instant grading and suggestions
- Track Progress: Monitor your accuracy and improvement over time
- Flask: Web framework
- Anthropic Claude: AI question generation and grading
- File Processing: Multi-format document parsing
- HTML5/CSS3: Modern web standards
- Tailwind CSS: Utility-first styling
- Web Speech API: Voice recognition
- JavaScript: Interactive functionality
- Anthropic API: Claude-3-Sonnet for intelligent question generation
- Fallback System: Smart rule-based questions when AI unavailable
- Context-Aware: Questions based on actual uploaded content
HackMIT/
βββ app.py # Main Flask application
βββ requirements.txt # Python dependencies
βββ .env # Environment variables (create this)
βββ README.md # This file
βββ templates/
β βββ index.html # Main UI template
βββ sample_content.txt # Sample study material
βββ llm_integration.py # AI integration utilities
| Variable | Description | Required |
|---|---|---|
ANTHROPIC_API_KEY |
Anthropic API key for AI features | No (has fallback) |
- PDF: Portable Document Format
- TXT: Plain text files
- DOC: Microsoft Word documents
- DOCX: Microsoft Word documents (newer format)
- Dynamic Background: Animated particles and floating shapes
- Glass Morphism: Modern glass-effect cards
- Responsive Design: Works on desktop and mobile
- Dark Theme: Easy on the eyes for long study sessions
- Smooth Animations: Polished user experience
- Contextual questions based on uploaded content
- Multiple difficulty levels
- Subject-specific terminology
- Critical thinking prompts
- 1-10 scoring system
- Detailed feedback
- Improvement suggestions
- Follow-up question recommendations
-
Port Already in Use
# Kill existing processes pkill -f "python3 app.py" # Or use a different port python3 app.py --port 3000
-
File Upload Issues
- Ensure file is in supported format
- Check file size (recommended < 10MB)
- Verify file is not corrupted
-
Speech Recognition Not Working
- Use Chrome/Edge for best compatibility
- Allow microphone permissions
- Check browser console for errors
-
AI Features Not Working
- Verify API key in
.envfile - Check internet connection
- App will use fallback mode automatically
- Verify API key in
- Check the browser console for JavaScript errors
- Verify all dependencies are installed
- Ensure Python 3.8+ is being used
This project was built for HackMIT 2025 with the following highlights:
- Innovation: Voice-first AI study assistant
- Technical Excellence: Full-stack implementation with AI integration
- User Experience: Beautiful, intuitive interface
- Scalability: Modular architecture for easy expansion
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- GitHub: @parthib-paul @ek-pineapple
- Project: ThinkAloud
Built with β€οΈ for HackMIT 2025
Transform your study sessions with AI-powered learning!