Project Info

Quitecare

Devpost

Inspiration

Millions of older adults live alone, and the scariest moments — a fall, a stroke, choking, wandering at night — often happen with no one around to notice. Existing medical-alert devices rely on the person pressing a button, which fails exactly when they can't. But the opposite extreme — a camera feed or an app that pings family every time grandpa drops a spoon — gets muted within a week. We wanted a companion that quietly watches for trouble, checks in like a caring human would, and reaches a real person only when it actually matters — without turning someone's home into a 24/7 surveillance feed.

What it does

QuietCare is an always-on elderly-safety companion built around one idea: stay silent through the noise of daily life, and speak up only in a real emergency. "Your phone doesn't blow up every time grandpa drops a spoon — only when something's actually wrong." A phone on a lanyard runs cheap on-device sensing (accelerometer + a rolling audio buffer) and, when something looks wrong, streams a short event to the cloud over a WebSocket. Two cooperating Claude agents take over: elder-agent reasons about the event, runs a gentle spoken check-in ("Margaret, are you okay?"), and fuses the signals — trigger type, what it hears back, whether they responded at all, and non-speech sounds like a thud or a scream — into a decision to resolve or escalate. caretaker-agent picks up escalations over a message bus and alerts the human caretaker via SMS or a voice call, and can even handle everyday errands like a prescription refill, or answer a casual "how's mom today?" text. The experience is deliberately lopsided: the elder is asked nothing and the caretaker hears nothing — until the one moment that counts. It handles falls, inactivity (a possible silent emergency like a stroke), and geofence breaches (wandering), with higher urgency at night.

How we built it

Client: Expo / React Native (TypeScript) with expo-sensors for fall detection, a rolling on-device audio buffer, a single front-camera snapshot on trigger, and a resilient auto-reconnecting WebSocket. Backend: Python + FastAPI exposing a WebSocket (/ws) and /health. Two Claude agents run a provider-agnostic tool-use loop. Services: Claude (reasoning, via the PaleBlueDot router), Deepgram (STT/TTS), Twilio (SMS/voice), BAND (agent message bus), Browserbase (cloud browser for errands), Redis (memory), Sentry (monitoring). Safety core: an explicit escalation state machine enforces invariants — the LLM decides what to do, but the code decides what's allowed. Mock-by-default: every provider falls back to a deterministic mock when its API key is absent, so the whole loop runs end-to-end with zero credentials.

Challenges we ran into

Avoiding both false alarms and missed emergencies. An unanswered check-in could mean "they're fine and walked away" or "they're unconscious." We solved this by fusing multiple signals — trigger source, transcript, silence, and acoustic distress tags — rather than trusting any one. Silence after a fall became one of our strongest signals, since the worst emergencies are exactly the ones where the person can't speak. Letting an AI act without letting it act dangerously. We separated decision-making (the LLM) from enforcement (a deterministic state machine), and hard-gated 911 behind explicit human confirmation. Always-on without being invasive. We buffer audio on-device and only send the seconds before a trigger, never a continuous stream. Demoability. Building real telephony, STT, and agents that also run fully mocked with no keys took careful interface design.

Accomplishments we're proud of

A genuine two-agent system that cooperates over a real message bus — one agent that knows the elder, one that represents the family. 911 is unreachable without a human — a safety guarantee enforced in code, not just a prompt. Dignity-first design: a gentle check-in before any alarm, privacy by architecture, and a device that asks the elder to learn nothing. Runs end-to-end with zero credentials thanks to mock fallbacks.

What we learned

For high-stakes AI, the most important code is the part that constrains the model, not the part that prompts it. Multi-signal fusion beats any single sensor for safety decisions. Privacy is an architecture choice — buffer vs. upload, keys server-side, no raw media in telemetry — not a checkbox.

What's next

for QuietCare Real on-device fall-detection ML (CNN-LSTM on SisFall) to replace the threshold heuristic. A richer caretaker dashboard with wellness trends and incident history. Medication reminders and adherence tracking to make it useful every day, not just in emergencies. Native Apple Watch fall-API integration and on-device speech to cut cloud dependence further.

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • FastAPIIn code
  • JavaScriptIn code
  • PythonIn code
  • ReactIn code
  • TypeScriptIn code
  • AnthropicClaimed

5 of 6 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.

AI coding agents

No AI coding agent signals were found in this repository.

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

604 KB

Source files

123

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars