Inspiration
Understanding medical reports shouldn't be hard. People struggle with:
- Medical jargon that sounds like a foreign language.
- Overwhelming test results and diagnoses they can't interpret.
- Language barriers preventing proper health understanding.
We built MedLens for people who need clear, simple explanations of their medical reports in their own language - powered by AI, making healthcare accessible to everyone, regardless of medical knowledge or language barriers.
What it does
MedLens transforms complex medical reports into easy-to-understand explanations using AI. Users upload their medical documents, get simplified explanations, and can ask questions in their preferred language.
Key features:
- Smart Document Processing - Upload PDFs or images of medical reports.
- AI-Powered Simplification - Complex medical terms explained in plain language.
- Multi-language Support - Get explanations in English, Spanish, Urdu, French, Arabic, and Hindi.
- Interactive Q&A - Ask questions about your medical report in any supported language.
- Text-to-Speech - Listen to explanations with natural voice synthesis.
- Privacy-Focused - Your medical data stays secure with local processing.
How we built it
Built as a React + FastAPI web application with multiple AI services:
Login
- Supabase Auth: Provides secure user login and access control
- Supabase Database: Stores only user metadata
OCR Service
Document upload → Tesseract OCR → Text extraction → Structured medical data
- Uses local Tesseract for privacy and pdfplumber for PDF processing
- Handles both scanned images and native PDF files
AI Service
Medical text → Google Gemini API → Simplified explanations
- Context-aware responses that understand medical terminology.
- Language-specific prompts for culturally appropriate explanations.
Translation Service
Simplified text → Google Gemini → Multi-language translations
- Supports 6 languages with medical context preservation.
- Cultural adaptation for health explanations.
Voice Service
Text → ElevenLabs API → Natural speech synthesis
- High-quality voice generation for accessibility
- Supports 20+ languages
Tech Stack:
- Frontend: React with Vite, Tailwind CSS, React Router
- Backend: FastAPI with Python
- Middle ware: CORS
- AI: Google Gemini 2.0 Flash
- OCR: Tesseract (local), pdfplumber
- Voice: ElevenLabs API
- Storage: In-memory state management
Challenges we ran into
- Language Barriers - Medical terms don't translate directly.
- API Integration - Managing multiple AI services with different response formats.
- Privacy Concerns - Balancing AI capabilities with medical data security.
- CORS Issues - Frontend-backend communication across different ports.
What we're proud of
- Real Document Processing - Actually extracts text from real PDFs instead of dummy data.
- Multi-language Chat - Independent language selection for Q&A vs report analysis.
- Privacy-First Design - Local OCR processing keeps sensitive data secure.
- Seamless Integration - Smooth workflow from upload to AI analysis to voice playback.
- Accessibility Features - Text-to-speech and multi-language support for diverse users.
What we learned
- Local vs Cloud Processing - OCR works better locally for privacy and reliability.
- Language Context Matters - Medical explanations need cultural adaptation, not just translation.
- User Experience is Key - Clear visual feedback during processing prevents user confusion.
- API Reliability - Multiple fallback options are essential for production apps.
What's next for MedLens
- More Languages - Expanding to support 25+ languages including regional dialects.
- Advanced AI - Smarter medical explanations with personalized health insights.
- Mobile App - React Native version for on-the-go access.
- Health Records - Secure storage and management of multiple medical reports.
- Insurance Integration - Help users understand coverage and find affordable care options.

Log in or sign up for Devpost to join the conversation.