Inspiration

Elderly or vulnerable people living alone are often checked on informally, if at all. Family caregivers want a lightweight, non-intrusive way to know something might be wrong — without cameras streaming 24/7 to their phone or expensive medical alert hardware. Ring already sits at the front door in millions of homes, so I wanted to turn its motion detection into a gentle, automated check-in system.

What it does

Ring Med Watch watches for motion at a front door. If no motion is detected for a configurable threshold (default 12 hours), it asks AWS Bedrock (Claude Haiku) to draft a short, calm, non-alarming message, and delivers it to a family caregiver by email via AWS SES. The tone is deliberately gentle — a nudge to check in, not a panic alert.

How I built it

  • Node.js / Express backend exposing a /webhooks/ring endpoint, a /health status endpoint, and a /test/trigger-alert endpoint for demos
  • AWS Bedrock (Claude Haiku) drafts the caregiver message from a prompt describing hours since last motion
  • AWS SES delivers the message by email
  • Deployed on Google Cloud Run
  • The webhook parses Ring's real v1.1 payload format (data.type, data.attributes), tested against the Ring Developer Playground sandbox

Challenges I ran into

  • Ring's webhook payload nests the event type inside data.type, not at the top level — easy to miss and silently breaks motion detection if parsed wrong
  • My initial plan was to alert by SMS via AWS SNS, but hit an AWS account-level SubscriptionRequiredException on the Pinpoint SMS Voice V2 service (a new-account restriction unrelated to IAM permissions). Rather than block the whole project on an AWS Support ticket, I pivoted to email delivery via AWS SES, which worked immediately and end-to-end
  • IAM permissions needed to be added incrementally (SNS, then SES) as the project's needs evolved

What I learned

How Ring's real webhook payload is structured versus assumptions from documentation, and how to build a graceful fallback when an AWS service has an account-level restriction rather than a simple permissions issue.

What's next

  • Full Ring OAuth account linking (currently tested via Ring Playground sandbox)
  • HMAC-SHA256 signature verification on incoming webhooks
  • SMS delivery via SNS/Pinpoint once the AWS Support ticket is resolved
  • Multiple caregiver contacts per household

Built With

Share this project:

Updates

Submission history