SketchSolve
AI-Powered Math & Physics Solver for Education Management
SketchSolve is an interactive AI-powered web application that enables students and educators to draw mathematical and physics equations on a canvas, upload the image, and receive step-by-step solutions using Google Gemini AI. Additionally, users can chat with AI to clarify doubts, making learning more engaging and accessible.
🎯 Inspiration
Education management often struggles with making complex problem-solving more intuitive. Typing mathematical equations manually is time-consuming and frustrating, especially for students working with handwritten equations and diagrams. Many existing math solvers require rigid input formats, creating a barrier to learning.
Our goal was to bridge this gap by developing an AI-powered, canvas-based tool that allows users to draw equations naturally, making problem-solving interactive, accessible, and efficient for students and educators alike.
What It Does
- ✅ Canvas-Based Input – Users can draw math/physics equations instead of typing.
- ✅ AI-Powered Problem Solving – Google Gemini AI extracts, solves, and explains equations step by step.
- ✅ Interactive Chat – Users can ask follow-up questions and get detailed explanations.
- ✅ User-Friendly Interface – Simple React + Tailwind CSS design for a smooth experience.
- ✅ Flask Backend – Handles image processing, AI integration, and chat interactions.
How We Built It
Frontend (React + Tailwind CSS)
- Canvas Drawing – Users can sketch equations using the React Canvas API.
- Image Upload System – Converts drawings into an image file and sends them to the backend.
- Chat System – Allows users to interact with AI after receiving solutions.
- State Management – Uses
useContext,useEffect, anduseStatefor dynamic UI updates.
Backend (Flask + Python)
- Image Processing – Uses PIL (Pillow) and BytesIO to process and encode images.
- AI Integration – Sends images to Google Gemini AI for equation extraction and solving.
- Flask API Endpoints – Handles requests from the frontend and returns AI-generated solutions.
- Chat Functionality – Allows users to send follow-up questions and receive AI responses.
Challenges We Ran Into
1. Extracting Equations from Images
- Problem: Ensuring AI could accurately recognize handwritten equations.
- Solution: Optimized image preprocessing using grayscale conversion and adaptive thresholding before sending it to AI.
2. Handling Large Image Files Efficiently
- Problem: Large image files caused slow API response times.
- Solution: Implemented image compression and Base64 encoding to reduce file sizes.
3. Ensuring a Smooth Chat Experience
- Problem: Making the chat system interactive while keeping AI responses meaningful.
- Solution: Structured API calls properly and implemented state management for real-time updates.
Accomplishments That We're Proud Of
- Successfully integrated Google Gemini AI to analyze handwritten equations.
- Developed a canvas-based drawing system for users to input problems naturally.
- Implemented a chat feature that allows users to ask follow-up questions and clarify doubts.
- Optimized image processing and API calls to ensure fast response times.
- Built a seamless frontend-backend communication system using React and Flask.
What We Learned
- AI API Integration – Processing images and sending them to Google Gemini AI for meaningful outputs.
- React State Management – Using
useContext,useEffect, anduseStatefor smooth UI updates. - Image Processing Techniques – Base64 encoding, compression, and grayscale conversion for efficiency.
- Building a Dynamic Chat System – Implementing an AI-powered interactive chat for better user engagement.
- Backend Optimization – Efficiently handling API requests and responses using Flask.
What's Next for SketchSolve?
- ✅ Real-time Collaboration – Enable multiple users to solve equations together in real-time.
- ✅ Multi-Language Support – Allow AI to provide solutions in different languages.
- ✅ Handwriting Recognition AI – Improve handwritten equation detection for better accuracy.
- ✅ Voice-Based Input – Let users speak their equations for easier input.
- ✅ Mobile-Friendly Version – Optimize the UI for better accessibility on mobile devices.
Alignment with "Innovating Solutions for Effective Management in Education"
SketchSolve directly addresses student engagement and learning accessibility, two key challenges in education management. By enabling intuitive equation solving, AI-powered explanations, and interactive chat features, SketchSolve enhances digital learning experiences, reduces administrative workload for teachers, and makes math and physics problem-solving more efficient.
Contributing
We welcome contributions! Fork the repo, make your changes, and submit a pull request.
Built With
- api
- flask
- google-gen-ai
- javascript
- python
- react
Log in or sign up for Devpost to join the conversation.