🩺 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:
- Upload your lab report (PDF)
- Sit back as our system uses AI-powered summarization via AWS Bedrock and Textract
- 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
- Frontend built with Flask, styled with custom CSS, and containerized into a Docker image hosted on ECS Fargate.
- Document upload handled via pre-signed S3 URLs on the client-side.
- 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
- Registering the WebSocket connection and
- SNS and DynamoDB keep the entire pipeline event-driven and traceable.
- API Gateway (WebSocket) powers real-time communication.
- 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
- amazon-bedrock
- amazon-dynamodb
- amazon-sns
- amazon-web-services
- apigateway
- bedrock
- boto3
- claude
- css
- ecs-fargate
- flask
- git
- github
- html5
- javascript
- lambda
- python
- s3
- textract
- websockets
Log in or sign up for Devpost to join the conversation.