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.

Built With

Share this project:

Updates