InkSight is a microservices-based application that combines intelligent mathematical expression recognition and document analysis capabilities. The system utilizes Google's Gemini API for mathematical expression interpretation and Claude AI for document summarization.
- Real-time handwritten mathematical expression recognition
- Interactive drawing canvas with color options
- Document upload and analysis with comprehensive summarization
- Microservices architecture for scalability
- Kubernetes orchestration with automated scaling
- CI/CD pipeline with Jenkins
- Secure configuration management with Ansible Vault
The application consists of four microservices:
- API Gateway: Routes requests and handles service orchestration
- Calculator Service: Processes mathematical expressions using Gemini AI
- Document Service: Analyzes documents using Claude AI
- Frontend Service: Provides user interface and drawing capabilities
- Backend: Python, Flask
- Frontend: HTML, CSS, JavaScript
- AI/ML: Google Gemini API, Anthropic Claude API
- DevOps: Docker, Kubernetes, Jenkins, Ansible
- Version Control: Git, GitHub
- Clone the repository
git clone https://github.com/yourusername/InkSight.git
cd InkSight
- Build Docker images
docker-compose build
- Deploy to Kubernetes
ansible-playbook -i inventory ansible/deploy.yml --ask-vault-pass
Create a .env
file with:
GEMINI_API_KEY=your_gemini_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
SECRET_KEY=your_secret_key
InkSight/
├── api-gateway/
├── calculator-service/
├── document-service/
├── frontend-service/
├── k8/
├── ansible/
├── jenkins/
└── docker-compose.yml
- POST
/calculate
: Processes mathematical expressions - GET
/health
: Service health check
- POST
/upload
: Analyzes uploaded documents - GET
/health
: Service health check
The project uses Jenkins for continuous integration and deployment:
- Automatic builds on code push
- Docker image creation and push
- Kubernetes deployment with rolling updates
- Automated testing and verification
- Kubernetes pod health monitoring
- Service-level logging with date-based organization
- Performance metrics tracking
- Auto-scaling based on CPU usage
- Fork the repository
- Create a feature branch
- Commit changes
- Push to the branch
- Open a pull request
This project is licensed under the MIT License
- Dev Shinde
- Mahima
- Google Cloud Platform for Gemini API
- Anthropic for Claude API
- Open source community
For any queries, reach out to shindedev64@gmail.com