Inspiration

Finding the right medical care in an emergency is stressful. People often default to the nearest ER even when urgent care or a specialist would be faster, cheaper, and equally effective. MediMind was built to bridge that gap. It gives anyone instant, AI-assisted guidance and a real-time map of nearby facilities ranked by wait times, insurance compatibility, and distance. The goal is fewer unnecessary ER visits and faster access to appropriate care.


What it does

MediMind is a React Native mobile app that acts as your personal assistant and healthcare navigator. At its core is a conversational AI symptom checker: you describe how you're feeling, and the app asks clinically relevant follow-up questions before producing an ESI (Emergency Severity Index) severity score from 1–4, color-coded by urgency. Based on your symptoms, it routes you to the right specialty and surfaces a 911 shortcut if anything life-threatening is detected.

Alongside the symptom checker engine is a live healthcare facility finder. There is a Maps view of nearby hospitals, urgent care clinics, and pharmacies, each tagged with estimated wait times, open/closed status, and phone numbers. Conditions are refreshed in the background, keeping searches relevant for the time you are searching at.

Finally, a user profile layer stores your insurance provider, medical history, and medications so that every recommendation is filtered through compatibility with your personalization


How we built it

The frontend is built in React Native with Expo, using TypeScript throughout and Expo Router for file-based navigation. React Native Reanimated 4.1 handles animations, and React Native Maps provides the Google Maps integration.

The AI layer is powered by the ASI1 Mini LLM (via fetch.ai), running at temperature 0.1 for deterministic, medically consistent outputs. Behind that sits a multi-agent pipeline built with Fetch.ai's uAgents framework: a Symptom Agent handles question generation and ESI scoring, a Routing Agent ranks facilities by distance, wait time, and insurance, a Monitor Agent polls capacity estimates, an Alert Agent notifies users when a shorter-wait option opens nearby, and a Follow-up Agent generates post-discharge care plans.

The backend is a Python/FastAPI REST gateway that bridges the React Native app to the uAgents Bureau runtime. Facility data comes from the Overpass API (OpenStreetMap). User data, authentication, and session persistence are handled by Supabase.


Challenges we ran into

Overpass API reliability was our first wall to climb. rate limits and occasional downtime would silently break the facility map. We implemented three mirror endpoints with automatic failover so the map always loads.

Sparse OSM data was the next problem. Many facilities are missing phone numbers and hours in OpenStreetMap, so in the future we plan to pivot to the Google places api since way more information is readily available.

Transitioning from Bureau to Agentverse was another challenge I ran into late in the project. The way Bureau works, all agents run simultaneously in the same process, but Agentverse expects each agent to run independently with its own mailbox. I could not get my local agent to register properly on Agentverse due to mailbox configuration issues across uagents versions, so my current implementation keeps the agents running together through Bureau rather than the fully distributed setup I originally planned.


Built with

React Native · Expo · TypeScript · Supabase · ASI1 · uAgents · FastAPI · OpenStreetMap (Overpass API) · Google Maps · React Native Reanimated · Python

Built With

Share this project:

Updates