DocuVision is an AI-powered document processing system that combines OCR extraction with intelligent document analysis. It uses OCR.space for text extraction and OpenRouter AI for document understanding, classification, and data structuring. The application is built with production-ready practices including rate limiting, API security, and PWA support.
Key Improvements:
- 🛡️ Added API security and rate limiting
- 📱 Enhanced mobile experience with PWA support
- 🧠 Smarter document analysis with AI classification
- ⚡ Optimized performance with GZip compression
- 🎨 Improved UI/UX with better feedback systems
- 📤 Multi-format Upload: Supports PDFs, JPEG, PNG (up to 10MB)
- 🔍 Advanced OCR: OCR.space integration with fallback handling
- 🧠 AI Analysis: Document classification and data extraction via OpenRouter
- 📊 Structured Output: Clean JSON responses with typed fields
- ⚡ Production-Ready API: Rate limiting, error handling, and docs
- 🔒 Optional API Key Security: Protect your endpoints
- 📱 PWA Support: Installable and works offline
- 📈 Progress Tracking: Real-time upload and processing feedback
- 🖨️ Print Styles: Document-friendly print output
- 📝 Swagger Docs: Interactive API documentation at
/api/docs - 🔍 Validation: Strict file type and size validation
- 🧩 Modular Design: Clean separation of concerns
- 📊 Logging: Comprehensive request and error logging
| Component | Technology |
|---|---|
| Frontend | HTML5, CSS3, JavaScript (PWA-enabled) |
| Backend | FastAPI (Python) with Pydantic models |
| OCR | OCR.space API |
| AI Analysis | OpenRouter AI (Mistral 7B) |
| Security | API Key Auth, Rate Limiting |
| Performance | GZip Middleware, Async Processing |
| DevOps | Logging, Error Tracking, Configuration Management |
- Python 3.9+
- Node.js (for optional frontend builds)
- API keys for:
- OCR.space (free tier available)
- OpenRouter (optional)
# Clone the repository
git clone https://github.com/josiah-mbao/docuvision.git
cd docuvision
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your API keys