Inspiration

I started Care Ladder for my mother. She hated feeling watched by a camera, but a home camera was still the only practical way for family to check in. My sister and I live on opposite sides of the world from her, so neither of us can watch 24/7. When she was out of view and not answering (she often forgets to charge her phone), we ended up calling neighbors in a panic. She has fallen several times recently; she refuses assisted living or a full-time caretaker.

I realized that same respect for privacy belongs on old-age and assisted-living care floors too. For Galuxium we answer that same question for small facilities with thin overnight cover and existing cameras: remote eyes without living on a wall of feeds, confirm before page, so staff time goes to helping people, not watching screens.

What it does

  • Runs a configurable escalation ladder from a detected or fixture-driven care cue.
  • Starts with a check-in and wait window before moving to later rungs.
  • Leads with a facility operator console (Overview, Alert center, Cases, Audit, Staff, People, Places · cameras, Channels, Plan and billing, Settings) and still offers a home path for households.
  • Break-aware auto-routing: pages an on-duty assignee, skips staff on break unless a logged lead pull-off-break override is used, and keeps one-focus (on_case) assignment rules honest.
  • Layer 2 live cover: every staffer carries a cover state (on duty, on break, on call, backup) and paging follows it. The on-call backup gets a straight page with no confirm-first hop; private places keep the spoken confirm-first check.
  • Handoff notes attach to the open case and copy into the incident audit, so the next shift starts informed.
  • Audit retention is owner-extendable per site (3-year default, extend-only up to 10).
  • Teams-first notifier: pages go to a Teams workflow webhook when one is configured, else the Slack path, with Telegram and WhatsApp adapters behind them. Every page writes a staff_page audit row: who was paged, page kind, adapter, delivered or stub.
  • Soft-consumes sibling fall_cls_v1.onnx from opencv-care-ladder as an optional OpenCV DNN score on existing distress_heuristic cues only. OpenCV cues still drive the ladder. Opt out with CARE_LADDER_FALL_CLS=0. Not a diagnosis.
  • Shows facility notification and supervisor steps in the audit timeline.
  • Provides a family console with setup and an archive mirror.
  • Offers Stripe Checkout for upgrades and Customer Portal management and cancellation ($9 / $49 / $99).
  • Keeps billing and Telegram webhooks fail-closed when secrets are unset or wrong.
  • Makes demo limitations visible: telephony is stubbed; Slack uses a stub when its webhook is unset; WhatsApp marks demo status when not live.

How we built it

The browser caregiver console talks over HTTPS to a FastAPI service for session authentication, tenant-scoped application data, billing webhooks, and ladder orchestration. Postgres stores the audit trail with tenant scoping on every query. Notification adapters can use a real Slack incoming webhook or a logged stub when no webhook is configured, and a StubDialer represents future gated telephony. The vision path uses upload and fixture-driven OpenCV analysis rather than requiring a live RTSP camera feed for the MVP. An optional vendored fall_cls_v1.onnx scores distress frames as a soft cue detail (not a diagnosis). Stripe Checkout and Customer Portal handle the subscription flow. The application is packaged with Docker and deployed on Render with managed Postgres.

Challenges

The hardest design challenge was making escalation useful without making it opaque. We had to model wait-window transitions, acknowledgement, notification state, staff availability (break / on-case), and audit records so the operator can understand not only the current alert but also the sequence that led there. We also had to keep the SaaS demo honest: fixtures and stubs labeled as such, fail-closed webhooks, and the fall classifier labeled as a non-clinical soft cue rather than a diagnosis.

Accomplishments

  • Hosted multi-tenant SaaS at https://care-ladder-saas.onrender.com (main tip 9c3c66c)
  • Facility-first and home consoles on one ladder engine
  • Break-aware auto-routing and optional fall_cls soft consume on distress cues
  • Layer 2 cover and respond shipped and live: live cover states, straight-page on-call backup, handoff notes, owner-extendable retention, Teams-first notifier, staff_page audit rows
  • Stripe Checkout/Portal at $9 / $49 / $99
  • Fail-closed Stripe and Telegram webhooks
  • Facility-first demo video: https://youtu.be/1HPQs4efYCo
  • Seeded judge demo with no payment card

What we learned

A small care product needs an operational story, not just an alert screen. Honest constraints (stubs, non-clinical soft cues) make a better judgeable demo than overclaiming.

What's next

Human-gated real telephony; production Slack workflows; scoped family chat adapters; richer camera ingestion; more facility workflows with tenant isolation preserved.

Try it / additional notes

Live: https://care-ladder-saas.onrender.com Repo tip: 9c3c66c Landing: https://pamu512.github.io/care-ladder/ Video: https://youtu.be/1HPQs4efYCo Judge demo logins are seeded on the live Render site (landing page). For credentials, use the site’s demo login buttons or ask the team privately; passwords are not published on this page. Pricing: Home $9/mo, Facility Starter $49/mo, Facility Growth $99/mo

Share this project:

Updates

Submission history