Voice-first AI senior care companion. Calls seniors daily to check mood, medications, and needs. Detects falls, loneliness, and service requests (food, medicine, bathing, transportation). Alerts family with recommended local services. Use when building senior care, voice AI, or healthcare check-in applications.
npx @senso-ai/shipables install SankarSubbayya/carecompanionVoice-first AI senior care companion that keeps seniors safe and families informed.
# Install dependencies
uv sync
# Start Aerospike (Docker)
docker run -d --name aerospike -p 3100:3000 aerospike/aerospike-server
# Configure
# Set BLAND_AI_API_KEY in .env
# Set BASE_URL to your ngrok URL
# Run
uv run python main.py
# Seed demo data
uv run python scripts/seed_data.py
Senior's Phone <-> Bland AI <-> Webhook -> Analyzer -> Alert Engine -> Dashboard
-> Service Directory
app/services/bland_ai.py — Voice call integration and promptsapp/services/call_analyzer.py — NLP transcript analysis (7 service categories)app/services/alert_engine.py — Rule-based alert generationapp/services/service_directory.py — Verified SF providers + Google Places + 211app/routers/webhooks.py — Bland AI webhook processingfrontend/ — Family dashboard (vanilla JS + Chart.js)| Category | Example Phrases |
|---|---|
| Shower/Bath Help | "need help showering", "can't bathe" |
| Medicine | "ran out of prescription", "need refill" |
| Food/Meals | "hungry", "can't cook", "need food" |
| Mail/Packages | "check my mail", "need to send a letter" |
| Transportation | "need a ride", "doctor appointment" |
| Medical Emergency | "chest pain", "I fell", "can't breathe" |
| Companionship | "lonely", "no one visits" |
BLAND_AI_API_KEYBland AI API key for voice calls
BASE_URLPublic URL for Bland AI webhooks (ngrok URL)
AUTH0_DOMAINAuth0 tenant domain
AUTH0_CLIENT_IDAuth0 SPA client ID
AEROSPIKE_HOSTAerospike server host
AEROSPIKE_PORTAerospike server port
USE_AEROSPIKEUse Aerospike database (false = in-memory fallback)