Inspiration
I realised that not everyone has access to the professional services that are offered in hospitals in cities. So I decided to build something that will address that exact problem.
What it does
It is essentially and AI doctor that's in your phone or laptop. But unlike the everyday AI doctors, this one bases its advice and functionality based on the ESI system, which is a proven and reliable algorithm worldwide that allows nurses to evaluate patients quickly. This is the basis of this AI and what all the results are based on.
How we built it
I built the application on a Next.js architecture, utilizing the Gemini 3.1 Lite API. Gemini evaluates patient symptoms to assign an ESI Level (1-5), providing evidence-based rationales and dynamically generating home remedies for non-critical cases. I also built a Clinician Audit Dashboard that forces the AI to output exactly which ESI gates it triggered and the specific differentials it ruled out, turning it into a clinical decision support tool. Furthermore, I also implemented a frontend emergency prompt using the FAST Protocol. If a user indicates stroke or heart attack symptoms, the frontend completely bypasses the AI, locking the app into a Level 1 Emergency state. To make it accessible to anyone, anywhere (even places with poor internet connection), I built a Low-Bandwidth Mode that strips the UI to raw HTML and restricts the LLM payload for 2G network environments. I also integrated native browser APIs (navigator.share) for a 1-click button that allows the user to contact their emergency contact or loved ones incase of an emergency.
Challenges we ran into
Initially, the AI over-triaged everything (e.g., sending a standard migraine to the ER). I had to engineer strict thresholds into the prompt to teach the model to safely assign Level 5 (Rest & Monitor) for small and common stuff. Of course, it asks further question to be more sure that it is nothing.
Secondly, Forcing an LLM to map its reasoning to our dashboard was incredibly difficult. The AI initially failed to understand that the ESI is a waterfall algorithm—if a Level 1 trauma is found, it must stop evaluating lower-acuity gates. We had to strictly constrain the schema logic to force the AI to respect these critical safety bypasses.
State Management: trying to make different React states across different languages (Spanish/English), offline problems, and dynamic UI components without any errors was also very difficult
Accomplishments that we're proud of
I am personally proud of the Low Data Mode that reduces network traffic because this I see this as an essential step to increasing accessibility of medical advice all around the world. I am also proud of the ESI algorithm I implemented because it means that the AI isn't just spitting out random nonsense but rather that it is carefully evaluated through an algorithm that is widely accepted throughout the world.
What we learned
I learnt about the ESI model, which I personally have never heard of.
What's next for VitaLink
Currently no plans
Built With
- framer
- geminiapi
- geojsapi
- lucide
- next.js
- node.js
- qrcode.react
- react.js
- tailwind
- vercel
Log in or sign up for Devpost to join the conversation.