Inspiration

When a parent lives alone, the family's safety system is a phone call: "did you sleep okay, did you take your pills, call me if anything happens." Both sides dread the day it's missed. I wanted Alexa+ to turn that call into a two-minute good morning, and to keep the children informed without making them check up every day.

What it does

  • "Good morning." One question at a time: sleep, mood from one to five, anything hurting. Then the day: medicines by time, appointments, and heat or ice advice for the parent's own city.
  • Medicines in their own words. "I took my blood pressure pill" is matched to lisinopril on the list and logged.
  • The FDA label, in plain words. "What is metformin for?" reads the official openFDA label: "The FDA label lists metformin for blood sugar in type 2 diabetes." "Can I take Advil with my blood pressure pill?" knows Advil is ibuprofen, an NSAID, and quotes what the lisinopril label says about NSAIDs. It always points to the pharmacist and never gives advice of its own.
  • Appointments by weekday ("dentist Friday at 2"), turned into dates in the parent's time zone, with a reminder the evening before.
  • The family asks their own Alexa: "How is Mom doing today?" Check-in time, mood, pain in her own words, medicines taken, alerts, and the week at a glance.
  • A quiet watcher. Every 15 minutes, in each parent's local time, Daybreak checks for no good morning by the expected time, a dose not confirmed two hours after it was due, tomorrow's appointments, and heat or ice advisories.
  • Emergencies come first. "I fell in the kitchen" skips the model entirely: call 911 or press your medical alert button, and the family sees an urgent alert.
  • On an Echo Show, an MCP App: today's medicines in large print with "I took it" buttons that call back into the server.

How I built it

  • MCP server on Cloudflare Workers with @modelcontextprotocol/server 2.2.0 (createMcpHandler): Streamable HTTP, protocol 2025-11-25, plus 2026-07-28.
  • Cloudflare D1 for households, check-ins, doses, appointments and alerts, with every date computed in the parent's own time zone.
  • openFDA drug labels and Open-Meteo weather, both free and keyless. The heat advice follows the National Weather Service heat index classification.
  • A cron trigger for the household watcher.
  • An MCP App (ui://daybreak/today.html, text/html;profile=mcp-app), verified with the official AppBridge in /apps.html.
  • A simulated Alexa+: an Echo Show page that is a real MCP client over Streamable HTTP. Workers AI (Llama 4 Scout) chooses the tools, Deepgram Aura-2 on Workers AI gives it a natural voice, and the browser's Web Speech API listens.
  • 14 end-to-end tests that connect through the official MCP client, the way any MCP host would.

Challenges I ran into

  • Safety vs. a probabilistic model. I moved the safety-critical paths out of the model: emergencies, check-in answers and medicine-label questions are routed by code. Tools return the exact sentence to speak, so "1 of 3 taken" can't become "all taken."
  • Honest label answers. A naive search for "ibuprofen" in a blood pressure label finds nothing and sounds reassuring. That's dangerous, so brand names map to their drug class. Fuzzy label matches are checked too: one search for "weather" returned a hand sanitizer.
  • Time zones. "By 10:30," "two hours after the 8 a.m. pill" and "Friday" all mean the parent's local time, not the server's.

Accomplishments that I'm proud of

  • A complete morning in one conversation, with real FDA and weather data.
  • A watcher that I tested end to end: no check-in, two missed doses and a heat advisory, all raised in Phoenix local time.
  • An emergency path that never depends on a model.

What I learned

In caregiving, the useful part of a voice assistant is what happens when nobody is talking: the missed good morning, the pill not confirmed. MCP plus a scheduler gets you most of the way. The missing piece is a sanctioned way to notify the family.

What's next

  • A notification path to the family's phones (push or email) once Alexa+ exposes one for MCP integrations.
  • Medication refill reminders from pill counts.
  • Weekly summaries for the family.

Built With

  • agent-skills
  • cloudflare-d1
  • cloudflare-workers
  • deepgram
  • mcp-apps
  • model-context-protocol
  • open-meteo
  • openfda
  • typescript
  • web-speech-api
  • workers-ai
Share this project:

Updates

Submission history