Inspiration
Medical information is often hard for patients to decipher, especially blood test results. One of our teammates frequently found herself staring at lab results, unsure what they meant or whether she should be concerned and having to wait days for a doctor's appointment just to get a basic explanation. We realized this isn't just one person’s problem: millions of patients receive blood results through portals like Quest Diagnostics with little to no guidance on what the numbers actually mean. We built ModernBlood to change that.
What it does
ModernBlood lets patients upload their blood test PDF and get back a clear, interpretable breakdown of their results. It flags abnormal values and critical values from anemia to vitamin deficiencies to cholesterol concerns, and suggests specific questions to bring to their doctor. A built-in chatbot lets users dig deeper into any result or ask follow-up questions about nutrition and lifestyle. Everything is framed as educational, not diagnostic level, looking to inform patients, not replace their doctor.
How we built it
ModernBlood is built with a React frontend and Django, Zed, VSCode backend. When a user opens the app, we start by collecting a brief health profile like age, chronic conditions, and current medications so that every insight we generate is personalized to them, not just generic. From there, the user uploads their blood test PDF. We parse that document and run it through a RAG pipeline grounded in vetted nutritional and medical knowledge bases. This means our responses aren't just raw LLM outputs but anchored to reliable medical sources, which is what separates us from just asking an LLM the same question. That analysis then populates two things: a visual dashboard that flags abnormal results in plain English, and a chatbot where users can ask follow-up questions about their specific results. The built-in chatbot has not been fully integrated with our server because it was not powerful enough to generate embeddings with RAG pipeline, causing the browser to time out while waiting for a response. For future uses, we will deploy it on a more powerful server.
Challenges we ran into
This was one of our first hackathons as a team, and it really showed us how different building under pressure is compared to working in a classroom. One of our biggest challenges was collaboration. Figuring out how to divide responsibilities, keep a shared codebase organized, and connect a React frontend with a Django, Zed, VSCode backend forced us to communicate more clearly and quickly than we were used to. On the technical side, working with an open-source LLM came with its own set of challenges. Without access to a paid API, we had to rely on tools that were sometimes outdated or not well documented, which slowed us down. The toughest part, though, was building the RAG pipeline. Getting the model to pull from reliable medical and nutritional sources turned out to be harder than we expected, and making sure the outputs were accurate and not hallucinated took a lot of trial and error.
Accomplishments that we're proud of
We're proud that we built a working end-to-end product in 24 hours as first time hackers despite a moderately successful integration process. A user can upload a real blood test PDF and get back a meaningful, readable interpretation. We're also proud of how cleanly the UI came together, keeping the experience calm and reassuring rather than overwhelming.
What we learned
We learned how to collaborate on a codebase under pressure, how to scope a project ruthlessly to ship something real, and how thoughtful UI design matters when the user is potentially anxious about their health. We also learned that the hardest part of building health tools isn't the AI, but making the experience feel trustworthy and human.
What's next for ModernBlood
While we're proud of what we built in 24 hours, there are several features we'd love to develop given more time. Firstly, of course, we will aim to implement the chatbot completely inside the server website, allowing patients to have in-depth conversations and receive thoughtful recommendations from the chatbot. Currently, we allow patients to log into the webpage. However, given the time limit we were not able to provide a trend analysis. A trend analysis would aim to update the dashboard and chatbot to provide more patient specific recommendations to make them understand their results specific to their medical history. A single blood test is a snapshot, but health is a story. By tracking values like hemoglobin, glucose, or cholesterol across multiple uploads, ModernBlood could surface meaningful patterns, catching a slowly declining vitamin D level before it becomes a deficiency, or flagging a gradual rise in LDL cholesterol that any single test would miss. These trends would be visualized directly on the dashboard, giving patients and their doctors a much richer picture of their health over time. We believe this longitudinal view is where the real value of a tool like ModernBlood lies. Not just explaining today's results, but helping patients understand the direction their health is heading.
Built With
- basemodel
- django
- fastapi
- godaddyregistry
- huggingface
- javascript
- llamaindex
- mistral
- python
- react
- torch
- vscode
- zed
Log in or sign up for Devpost to join the conversation.