🩺 About the Project

MedSimplify was born out of a common frustration — interpreting complex medical lab reports. While lab results are clinically accurate, they often fail to convey meaning in a way that patients and non-medical caregivers can understand.
Our goal was to bridge this communication gap using the power of AI, serverless architecture, and real-time responsiveness.


💡 Inspiration

We were inspired by:

  • The struggle many family members face understanding lab reports during doctor visits.
  • The need for patient-first communication in healthcare.
  • The power of AWS Bedrock and Textract to combine vision and language understanding in a secure, serverless, and event-driven manner.

⚙️ What It Does

MedSimplify is an intuitive platform that transforms complex medical reports into clear, patient-friendly summaries — instantly.

All you have to do is:

  1. Upload your lab report (PDF)
  2. Sit back as our system uses AI-powered summarization via AWS Bedrock and Textract
  3. Receive a simplified summary in seconds, written in plain language you can actually understand

No jargon. No confusion. Just clarity powered by serverless intelligence.


🛠️ How We Built It

  1. Frontend built with Flask, styled with custom CSS, and containerized into a Docker image hosted on ECS Fargate.
  2. Document upload handled via pre-signed S3 URLs on the client-side.
  3. Four AWS Lambda functions coordinate the workflow:
    • Registering the WebSocket connection and request_id
    • Starting the Textract job
    • Calling Claude for summarization (via Bedrock)
    • Sending real-time WebSocket updates to users
  4. SNS and DynamoDB keep the entire pipeline event-driven and traceable.
  5. API Gateway (WebSocket) powers real-time communication.
  6. Final output summaries are stored in S3 and rendered at /result/<request_id> by the Flask app.

🧗 Challenges We Ran Into

  • Designing a robust serverless pipeline integrating S3, Lambda, Textract, and Bedrock
  • Handling asynchronous Textract jobs and coordinating SNS-triggered Lambdas
  • Configuring fine-grained IAM permissions for services like Bedrock and WebSocket APIs
  • Fixing ALB health check failures due to slow container startup on ECS Fargate
  • Managing WebSocket connections and ensuring reliable real-time updates

🏆 Accomplishments We're Proud Of

  • Built our first end-to-end serverless project entirely on AWS
  • Implemented real-time WebSocket communication using API Gateway
  • Designed and deployed a modular, event-driven architecture
  • Deployed a production-ready Flask frontend on ECS Fargate behind an ALB
  • Learned deeply about Lambda orchestration and serverless scaling

🔮 What's Next for MedSimplify

  • User Authentication & Profiles
    Integrate a secure login system to associate uploaded documents and summaries with individual users.

  • Enable Two-Way Conversations
    Open a persistent WebSocket connection to allow real-time, interactive Q&A between the user and the NLP agent after the summary is delivered.

  • Multi-Document Upload Support
    Allow users to upload multiple medical reports. The summarizer will generate a collective summary based on all inputs.

  • Doctor Recommendations
    Based on the medical summary, suggest relevant doctors using the Practo API or similar.

  • Visual Summary Generation
    Present lab data using charts or infographics for intuitive understanding.


Built With

Share this project:

Updates