Inspiration
The Problem: During doctor visits, patients often struggle to recall key medical details or ask clarifying questions. Post-visit summaries and medical reports are typically dense, jargon-heavy, and confusing, leading to miscommunication, patient anxiety, and unclear aftercare instructions.
The Solution: MyHealth translates complex medical reports into plain, accessible language. By simplifying clinical documentation, MyHealth helps patients quickly understand their diagnosis and care plans while streamlining physician handoffs and patient communication.
What it does
Users upload their medical documents directly through the app. Powered by the Gemini API, MyHealth analyzes the text to extract and highlight key insights essential for the patient. After reading the simplified summary, users can interact with an integrated chatbot on the analysis page to ask follow-up questions about their report. To maximize accessibility, the app allows users to seamlessly switch languages and select different models based on their needs.
How we built it
MyHealth is built entirely in Python, using Streamlit for a lightweight, interactive frontend and the Gemini API for document processing and conversational QA. I integrated Pydantic to enforce structured JSON outputs from Gemini, ensuring smooth data parsing and reliable state management when rendering insights in Streamlit.
Challenges we ran into
API Integration: Getting the initial Gemini API workflow setup and state handling configured smoothly within Streamlit took significant debugging.
Prompt Engineering: Structuring the system instructions required extensive iteration to ensure the model accurately translated complex medical terminology into empathetic, non-medical language without losing essential clinical context.
Accomplishments that we're proud of
Accessible UI/UX: Built a minimalist, clutter-free interface that prioritizes readability for users of all technical levels.
Multilingual Support: Integrated dynamic language selection to serve diverse patient communities.
Reliable Insights: Successfully tuned the model to produce accurate, clear summaries from raw, unstructured medical text.
What we learned
Hands-on experience building interactive web interfaces using Streamlit.
Effective structured output parsing and system prompt design with the Gemini API and Pydantic.
Deepened technical problem-solving by relying directly on official developer documentation to debug, rather than leaning on AI generation for code structure.
What's next for MyHealth
Dual-View Modes: Add a toggle between "Patient Mode" and "Clinical Mode" to assist healthcare providers with rapid chart reviews and physician-to-physician handoffs.
Persistent History: Allow users to save past analyses locally or securely to track health trends over time. Accessibility Enhancements: Add text-to-speech support for visually impaired users.
Expanded Tech Stack: Transition from Streamlit to a fully custom web stack (Node.js, React, HTML/CSS) to unlock more flexible layout design and scale user interactions.
Built With
- gemini-api
- pydantic
- python
- streamlit
Log in or sign up for Devpost to join the conversation.