SmartSum AI is an intelligent handwriting recognition calculator that allows users to draw mathematical expressions on a canvas and get instant AI-powered solutions. Built with cutting-edge technologies including React, TypeScript, and Google's Gemini API for advanced mathematical computation.
- ๐จ Intuitive Drawing Canvas - Draw mathematical expressions naturally with mouse or touch
- ๐ง AI-Powered Recognition - Advanced handwriting recognition using Google Gemini API
- ๐ฏ Real-time Calculation - Instant mathematical solutions for complex equations
- ๐ฑ Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- ๐จ Customizable Interface - Multiple colors, brush sizes, and themes
- ๐ Calculation History - Save and revisit previous calculations
- ๐พ Export Functionality - Save your work as images
- ๐ Dark/Light Theme - Toggle between elegant themes
- ๐ฑ PWA Ready - Install as a progressive web app
- React 18 - Modern UI library with hooks
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first styling
- Mantine - Rich component library
- Lucide React - Beautiful icons
- Axios - HTTP client for API calls
- React Hot Toast - Elegant notifications
- FastAPI - High-performance Python web framework
- Google Gemini API - Advanced AI for mathematical computation
- CORS Middleware - Cross-origin resource sharing
- Render - Cloud deployment platform
- ESLint - Code linting and formatting
- PostCSS - CSS processing
- TypeScript - Static type checking
- Node.js 18+ and npm
- Modern web browser
- Internet connection for AI processing
-
Clone the repository
git clone https://github.com/Ak-Rajak/SmartSum-AI.git cd SmartSum-AI -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Update
.env.localwith your configuration:VITE_API_URL=https://smartsum-ai-backend.onrender.com
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
# Build the project
npm run build
# Preview production build
npm run preview- Use your mouse or touch to draw mathematical expressions on the canvas
- Choose from various colors and brush sizes for clarity
- Draw naturally - the AI recognizes handwritten math notation
- Click the "Calculate" button after drawing your equation
- The AI processes your handwriting and provides the solution
- Results appear as draggable cards on the canvas
- Colors: Choose from 12 predefined colors or set custom ones
- Brush Size: Adjust from 1px to 20px for precision
- Themes: Toggle between dark and light modes
- Canvas: Clear, reset, or save your work anytime
- Access calculation history from the menu
- Reload previous calculations
- Export your work as PNG images
- Share results with others
| Variable | Description | Default |
|---|---|---|
VITE_API_URL |
Backend API endpoint | http://localhost:8900 |
src/
โโโ components/ # Reusable UI components
โ โโโ ui/ # Styled components
โโโ lib/ # Utility functions and constants
โโโ screens/ # Main application screens
โ โโโ home/ # Home page with calculator
โโโ assets/ # Static assets
โโโ styles/ # Global styles and themes
The frontend communicates with a FastAPI backend that processes handwriting recognition using Google's Gemini API:
- Endpoint:
POST /calculate - Payload: Canvas image data and variable dictionary
- Response: Mathematical expressions and computed results
The backend is built with FastAPI and deployed on Render. View Backend Repository โ
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push
- Netlify: Drag & drop the
distfolder - GitHub Pages: Use
gh-pagesfor static deployment
We welcome contributions! Please follow these steps:
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Ak-Rajak - Lead Developer - @Ak-Rajak
- Google Gemini API for powerful mathematical computation
- React and Vite communities for excellent tooling
- Mantine and Tailwind CSS for beautiful UI components
- Vercel and Render for reliable hosting platforms
- ๐ Bug Reports: Open an issue
- ๐ก Feature Requests: Start a discussion
- ๐ง Contact: your-email@example.com



