A sophisticated web-based calculator that uses handwriting recognition powered by Google's Gemini AI to solve mathematical expressions.
- ✍️ Handwriting Recognition: Draw mathematical expressions directly on the canvas
- 🤖 AI-Powered: Uses Google's Gemini AI for accurate interpretation and calculation
- 🎨 Rich Drawing Tools:
- Multiple color options
- Adjustable stroke width
- Eraser tool
- Undo/Redo functionality
- 💾 Save & Share: Export your calculations as PNG images
- ⌨️ Keyboard Shortcuts:
Ctrl/Cmd + Z: UndoCtrl/Cmd + YorCtrl/Cmd + Shift + Z: RedoE: Toggle eraser modeDelete/Backspace: Clear canvas
- 📱 Responsive Design: Works on desktop, tablet, and mobile devices
- 🎯 Touch Optimized: Enhanced support for touch devices and stylus input
Try it out: Smart Calculator Demo
-
Drawing Expression:
- Use the canvas to draw your mathematical expression
- Select colors from the palette
- Adjust stroke width using the slider
- Use eraser tool for corrections
-
Calculating:
- Click the "Calculate" button
- Wait for AI analysis
- View the solution in the results panel
-
Additional Tools:
- Use Undo/Redo for drawing corrections
- Clear canvas to start over
- Save calculations as images
- Reset all settings if needed
- HTML5 Canvas for drawing
- Vanilla JavaScript for functionality
- CSS3 for styling and animations
- Google Gemini AI API for handwriting recognition
SmartCalculatorclass: Main application logic- Canvas management system
- History tracking for undo/redo
- Touch and pointer event handling
- Responsive design system
- Chrome (recommended)
- Firefox
- Brave
- Safari
- Edge
- Opera
- API key should be kept private
- Production deployments should use environment variables
- Implement rate limiting for API calls
- Consider adding user authentication for production use
- Google Gemini AI for the handwriting recognition API
- Contributors and testers who helped improve the application
- Open source community for inspiration and resources
For support, please:
- Open an issue in the GitHub repository
- Contact the developer via GitHub
- Check the Wiki for additional documentation
Made with ❤️ by Ajit Kumar