Inspiration

We were inspired by how difficult it can be for people to access basic healthcare, even when free clinics are available. When we formed our team, we realized that our upbringings, all hailing from North Carolina, included shared experiences of rural life and limited access to reliable, ongoing healthcare. Hospitals may have the resources to run mobile clinics, which can help address health challenges like high blood pressure, diabetes, and asthma, but deciding where to place them to help the most people can be difficult. Even when clinics are scheduled, the people who need them may never hear about them. We wanted to solve both problems by helping hospitals choose better clinic locations and making sure nearby residents know when and where they can get free care.

What it does

ReachCare helps hospitals find the best places to send free mobile health clinics so more people can get care close to home.

Input: A hospital enters its name, maximum driving radius (15/30/45/60 min) of their mobile clinic, health service they are providing, target patient travel time, staffing, and clinic dates.

Algorithmic Recommendation: ReachCare scores every census tract in the radius by need, then picks host sites that bring the most need-weighted residents within reach through a greedy algorithm.

Output: The results open on a zoomable map with the radius circle, shaded communities, and labeled clinic sites, plus capacity, cost, and suggested dates. Planners can chat with a Gemini-powered analyst (through the Google Gemini API) about why communities were prioritized and explore trade-offs between travel time, coverage, and resources.

Alert: Residents sign up to get a text when a free clinic is scheduled near them.

Two-Way Communication: People can text or send a voice note in their own language and get a reply in the same language, as a voice note if they sent one (through ElevenLabs and Photon).

Services: Blood pressure, diabetes, COPD/lung, and asthma screening.

How we built it

We built the frontend with HTML, CSS, and JavaScript. We combined Census ACS (American Community Survey) data on adult population and households without a vehicle with CDC PLACES (Population Level Analysis and Community Estimates) health indicators across 2,637 census tracts, supported by a Python backend that uses NumPy to run the optimization algorithm.

For the selected screening service, each tract receives a priority score based on both health need and transportation barriers. The planner then considers potential host sites and selects locations that bring the most high-priority residents within the chosen travel target. It also checks the North Carolina safety-net clinic directory so areas near an existing care site are accounted for.

We wanted hospital employees to see how sensitive a recommendation is to their priorities. ReachCare reruns the site selection seven times, where the balance between emphasis on health need and transportation barrier alters. For example, ReachCare can prioritize health need as 70% of a community’s priority score and transportation barrier as 30%. Then, to test whether its recommendations depend heavily on that choice, it reruns that site selection seven times, giving health need 20%, 30%, and so on up to 80%. If a site is selected across most or all of those runs, planners can see that the recommendation is stable and holds under different priorities. Then, we run a greedy algorithm to find the next highest score among those not within reach of the first, and so on.

We integrated the Google Places API for hospital autocomplete and the Google Gemini API for explanations, planner chat, and language handling. ElevenLabs provides speech-to-text with language detection and multilingual text-to-speech for voice replies. Finally, a lightweight Node.js bridge connects Photon’s Spectrum framework for two-way iMessage, proactive announcements, and individualized conversational capability.

Challenges we ran into

  • Language Compatibility: Photon’s iMessage SDK runs through a Node.js connection, while the clinic finder backend runs in Python. Passing incoming texts and voice memos between them was messy at times to ensure we could return the right kind of reply.
  • Voice Conversion: We had to convert the MP3 audio produced by ElevenLabs to .m4a file-type voice memos for iMessage.
  • Gemini Alignment: Although Gemini was great at internalizing context once we actually provided it to them, we had to ensure that we wrote enough documentation so that Gemini’s outputs were consistent and not misleading.

Accomplishments that we're proud of

  • Full end-to-end implementation: We were first worried that trying to build a complete pipeline from clinic location recommendations and explanations to automated iMessage for clinic questions would be too much to build in 24 hours, especially because it was our first time participating in a hackathon. However, by dividing the project into smaller sections and iterating over time, we were able to finish the project with only minor adjustments.
  • Dual-accessibility AI: Pairing ElevenLabs with Photon allowed us to achieve both voice and language accessibility in our messaging feature. This allows users to send voice memos in their language of choice, and AI would give a spoken reply in that same language (translated by ElevenLabs and sent through Photon).
  • Balancing API Implementations: This was our first time connecting several APIs in one project. We successfully navigated balancing and connecting five API keys (DriveNC, ElevenLabs, Photon, Google Gemini, Google Maps) while ensuring each API served its designated purpose.

What we learned

  • We learned how to use health and population data to find communities that may need better access to care.
  • Keeping our algorithm simple made it easier to explain why certain locations were recommended.
  • AI works best when explaining real data and helping people communicate in different languages.
  • We learned how important it is to get permission before sending messages and give people an easy way to opt out.

What's next for ReachCare

  • Add more clinic locations and healthcare services.
  • Track aggregate attendance after hosted events and compare data with ReachCare’s estimates to improve future recommendations.
  • Automate public venue availability search and verification.
  • Partner with hospitals and community organizations to pilot ReachCare.

Built With

Share this project:

Updates

Submission history