ReliefReady: Relief for Those Who Provide Care

When an emergency strikes, life doesn't stop. ReliefReady helps caregivers handle their responsibilities, find local resources, and stay connected to the people who can help.

Live app: https://reliefready-eight.vercel.app

Inspiration

Healthcare focuses on the patient. But when someone is hospitalized, a family member or friend often becomes their caregiver overnight, with no training and no warning.

Every member of our team has seen this happen. When someone you love has an emergency, you drop everything. But life doesn't stop: assignments are still due, employers still expect you, and friends and classmates still count on you. When things settle, you come back to missed deadlines, unanswered messages and commitments nobody resolved.

Healthcare systems support patients. The people supporting those patients are often on their own. We built ReliefReady for them.

ReliefReady addresses Hack the Change's first prompt: proactive health and well-being, community connection, and healthcare accessibility.

What It Does

ReliefReady has three parts: Urgent, Care and Recover.

1. Urgent: your responsibilities don't disappear

You get a call that your mother is having surgery. You need to be with her for a week, and your calendar is full.

With Urgent, you can:

  • Describe the situation in plain language, typed or spoken.
  • See which commitments clash with the care week, using your calendar.
  • Get AI-drafted messages to each professor, employer or colleague, asking for an extension, coverage or a reschedule.
  • Choose how much each message reveals: minimal ("a family matter"), general ("my mother has a medical procedure") or detailed. The app warns you before health details go out at the lower levels.
  • Review, edit and approve every message. Nothing is sent without your explicit approval.
  • Send by email, or by text message with the "Send a text" button. Gemini drafts the text, you approve the exact words and the number, and Twilio sends it with delivery tracking.
  • Track replies: recipients answer through a response link, and each request shows as accepted, declined or waiting.

Sending a message doesn't mean the problem is solved, so ReliefReady records what actually happened.

Your loved one's emergency shouldn't become a second emergency in your own life.

2. Care: one place for everything about the person you care for

The Care Passport is a profile of the person you're caring for, built from your notes, documents, routines and voice notes.

  • Voice capture: describe routines out loud. ElevenLabs transcribes them.
  • AI extraction with approval: Gemini pulls out facts (medications, routines, contacts), and each one is linked to its source. Nothing joins the profile until the caregiver approves it.
  • Daily view: approved routines and appointments are laid out day by day.
  • Ask about them: a question-and-answer tool answers only from approved facts and shows where each answer came from. It uses semantic search (Gemini embeddings with pgvector) combined with keyword search.
  • Nearby help: pharmacies, clinics, community services and transit stops near the person's Calgary address, on a map.

3. Recover: getting back to normal life

After the care week, Recover shows every request by its recorded status: what was handled, what's still waiting and what needs follow-up. You come back to a clear list instead of a pile of unknowns.

Recovery should include the caregiver, too.

How We Built It

Architecture

ReliefReady is a modular monolith: one Next.js application with clear internal modules and adapters for each external service. That kept the infrastructure simple during a hackathon without tangling the code.

  • Next.js, React, TypeScript and Node.js for the web app, the API and the core logic. Zod validates every request and every AI response.
  • Supabase PostgreSQL runs the live database, with PostGIS for location queries and pgvector for semantic search. Database access is server-side only, with row-level security on.
  • PGlite, PostgreSQL in-process, gives us a full local database for offline development and testing.
  • Google Gemini handles drafting, fact extraction and Q&A. Gemini embeddings power the semantic search.
  • ElevenLabs provides speech-to-text for voice notes.
  • Twilio sends the text messages.
  • Python, scikit-learn, pandas and Jupyter run the offline machine-learning pipeline.
  • Swift and SwiftUI in Xcode for the native iPhone app.
  • Vercel for deployment and GitHub for code and team coordination.

The ML pipeline runs separately. It trains and evaluates the models, then publishes a snapshot of results that the web app reads at runtime.

Machine Learning: Care Access Intelligence

Instead of asking a language model for "nearby resources", we built a data-driven view of healthcare access in Calgary.

Data: 299 sourced resource records across 223 Calgary residential communities, from City of Calgary Open Data, OpenStreetMap and Statistics Canada's Open Database of Healthcare Facilities (ODHF). Each record keeps its source and licence.

Supervised: facility classification. On ODHF facility names, we compared Random Forest, Gradient Boosting and Logistic Regression, using TF-IDF features with SVD dimensionality reduction, a hyperparameter search and 3-fold training-only cross-validation, with grouped splits so the same name never appears in both training and test data.

Model Held-out accuracy Macro F1
Random Forest (selected) 70.95% 0.704
Gradient Boosting 66.98% 0.662
Logistic Regression 65.87% 0.652

The classifier predicts a facility's category, not its quality.

Unsupervised: access clustering. We compared K-Means, Gaussian Mixture and DBSCAN on each community's resource-count profile within real driving times (OSRM). K-Means with k=2 was selected, with a silhouette score of 0.666. It ran on the 150 of 223 communities with complete driving-time data. The rest are marked unknown, not guessed.

The results drive the Care access map, where you can filter by category, drive time and step-free access.

AI With Guardrails

  • Each message drafter sees only the fields its disclosure level allows. Medical details never reach a minimal-level message.
  • Code, not the model, checks every draft for health words, links, phone numbers and HTML before approval, and again at send.
  • Q&A answers only from approved facts, with citations. If the facts don't cover a question, it says so.
  • ReliefReady does not diagnose, give medical advice or replace healthcare professionals.

iOS App

We built a native SwiftUI iPhone app in Xcode. It isn't a web wrapper. It covers Urgent, Care, the maps, Recover, the outbox and voice notes, and calls the same API as the website at reliefready-eight.vercel.app, so phones and the website share the same data with no duplicated logic.

For the MVP, we installed it on test iPhones with Apple's free development signing. It is not on the App Store.

Demo Notes

To keep the demo safe and repeatable:

  • Emails go to an in-app outbox instead of real inboxes.
  • The calendar uses sample data.
  • Text messages run in demo mode (a simulated outbox) unless a Twilio number is configured, in which case they are sent for real with delivery status.
  • Everyone shares one demo account and one demo family.

Challenges

Integrating many systems. Next.js, PostgreSQL with PostGIS and pgvector, a Python ML pipeline, geographic datasets, Gemini, ElevenLabs, Twilio and an iOS client all had to work as one product.

Cloud pivot. We planned AWS Aurora and Amazon Bedrock, but account and service-access limits made that impractical in our timeline. We moved to Supabase PostgreSQL and Gemini behind provider adapters, so the switch didn't require a rewrite. PGlite kept everything runnable offline.

Honest ML. We wanted models that earn their place. That meant comparing algorithms, tuning them, preventing train/test leakage, and stating limits plainly: incomplete driving-time coverage, and accessibility and opening hours shown as "Unknown" unless a source lists them.

Designing for people under stress. Someone in an emergency shouldn't have to learn a dashboard. We kept it to one step at a time, with plain language and as few decisions as possible.

Automation versus privacy. Caregiving data is sensitive. We built around explicit approval, disclosure levels, source-backed facts and firm limits on medical content.

Accomplishments

  • A working web app, deployed live, with structured approval and response-tracking workflows.
  • Real text messaging with an approval step, duplicate-send protection and delivery tracking.
  • ML models trained and evaluated on real Canadian healthcare data, with published metrics.
  • Calgary-specific access analysis built on public datasets.
  • A source-backed care profile with voice capture and cited Q&A.
  • A native iOS app running on physical iPhones against the same backend.

What We Learned

We learned to keep probabilistic AI output separate from the logic that decides what gets sent, saved or shown. We learned to state what our data can and can't support.

And we learned that the value of technology isn't how complicated it is. Sometimes the most useful feature is helping someone tell their employer what's happening, find a pharmacy nearby, or hand a routine to someone they trust.

Impact and Scalability

  • Proactive health and well-being: less coordination work during a crisis means less stress on the caregiver.
  • Community connection: clear, approved requests make it easier for friends, family and colleagues to help.
  • Healthcare accessibility: real Calgary data and access analysis show where resources are and where they're scarce.

How we'd measure it: time to coordinate disrupted commitments, the share of requests accepted, the number of commitments still unresolved after a care week, time to find a relevant resource, and caregivers' self-reported burden. The MVP does not yet show a measured reduction in burnout.

We started with Calgary to stay local and accurate. The data layer is built per city, so other Canadian cities can be added with their own health, transit and community datasets.

What's Next

  • Expanding beyond Calgary.
  • Adding secure Care Passport sharing with backup caregivers.
  • Live Google Calendar and email sending for real users.
  • Adding public transit travel times to the access analysis.
  • Better resource data, with more complete and frequently updated sources.
  • App Store distribution for the iOS app.
  • Testing with real caregivers for usability, coordination time and stress.
  • Stronger consent, security and privacy controls before handling real health information.

Healthcare technology shouldn't focus only on the people receiving care. It should also support the people who make that care possible.

Because when life changes unexpectedly, everyone deserves support.

Data: © OpenStreetMap contributors (ODbL), City of Calgary Open Data, and Statistics Canada ODHF (Open Government Licence – Canada).

Built With

Share this project:

Updates

Submission history