Inspiration
While preparing for the PSAT and SAT, I relied on platforms like OnePrep and Khan Academy but realized millions of students struggle with math because they can't afford tutoring at $40-100 per hour. Educational inequality isn't just about school access, it's about getting help when you're stuck on a problem at midnight. I wanted to democratize quality math education by combining comprehensive lessons with real-time AI tutoring, completely free. This project addresses a genuine need: providing the equivalent of a personal math tutor to any student with internet access, removing financial barriers to success.
What it does
Math Lessons is a full-stack web application providing free, comprehensive math education for Algebra, Trigonometry, and Calculus. Students access detailed lesson content across eight units, practice with 64 multiple-choice problems featuring instant feedback and detailed explanations, and receive 15 AI-generated study tips personalized to each subject. The platform's standout feature is a real-time AI chatbot tutor with 400+ lines of intelligent logic that answers questions using pattern recognition and context awareness. It understands naturally phrased questions like "How do I solve linear equations?" and provides step-by-step explanations with examples. A progress tracking system visualizes student performance across four metrics using interactive charts. The application saves families $500-1000 monthly in tutoring costs while providing 24/7 access to quality math instruction, directly addressing educational inequality through technology.
How we built it
Built with React 18 frontend (React Router, Recharts) and FastAPI backend with seven RESTful endpoints. Used Pydantic v2 for validation and created a custom AI chatbot, 400+ lines of pattern recognition without external APIs. Modular architecture separates lessons, problems, and chatbot logic. LocalStorage handles progress tracking, eliminating database needs. Shell scripts manage servers, and pinned dependencies ensure compatibility. The 7,500+ line codebase runs with zero operating costs.
Challenges we ran into
Development servers wouldn't terminate properly, causing port conflicts—solved with shell scripts and process management. Dependency version conflicts, especially Pydantic v2, required researching compatibility and pinning versions. Building an intelligent chatbot without external APIs required creating sophisticated pattern matching algorithms. These challenges taught me professional development is about systematic problem-solving and understanding distributed systems, not just writing code.
Accomplishments that we're proud of
Development servers wouldn't terminate properly, causing port conflicts—solved with shell scripts and process management. Dependency version conflicts, especially Pydantic v2, required researching compatibility and pinning versions. Building an intelligent chatbot without external APIs required creating sophisticated pattern matching algorithms. These challenges taught me professional development is about systematic problem-solving and understanding distributed systems, not just writing code.
What we learned
Building a functional AI tutor from scratch with 400+ lines of intelligent logic without expensive APIs. The professional UI rivals commercial platforms with smooth animations and responsive design. Successfully implementing data visualization and orchestrating full-stack systems demonstrates genuine competency. Beyond technical achievements, this has real social impact: scaling to 10,000 students saves families $5-6 million annually, proving technology can remove educational barriers.
What's next for Math Lessons
Learned architectural thinking—separating modules for maintainability and scalability. Building RESTful APIs taught me proper endpoint design and self-documenting systems. Creating chatbot intelligence requires algorithmic problem-solving, proving effective AI doesn't always need neural networks. Debugging distributed systems taught me about CORS, async operations, and integration troubleshooting. Most importantly, learned user-centered design—every feature came from empathizing with struggling students. Professional development is 20% coding, 80% problem-solving.
Log in or sign up for Devpost to join the conversation.