Inspiration

My grandmother has been in memory care, and I kept coming back to the same observation: reminiscence therapy actually works. It's a proven, evidence-based technique, talking through old memories genuinely reduces agitation and improves mood in dementia patients. The problem isn't whether it works. The problem is staffing. One activities coordinator, sometimes forty or eighty residents. The therapy that could help almost everyone only reaches a handful.

Almost every AI product right now lives on a screen, chatbots, coding tools, dashboards. None of that reaches someone who can't use an app. But a phone call? That's an interface an 84-year-old already knows how to use, no onboarding required. That's the gap RECALL-E is built into.

What it does

RECALL-E is a staff dashboard for memory care facilities. It uses CALL-E to place real, scheduled phone calls to residents, grounded in a specific memory they actually know, a resident's years as a schoolteacher, their time in the Navy, raising four kids. The call is designed around validation therapy: never correct the resident, never argue, always gently redirect if they get confused or distressed.

Every call comes back as a real transcript. Staff see mood, a flag if something needs a check-in, and the actual conversation, not a guess.

Calls also happen in a resident's first language when that's set. Older memories are often easier to access in the language someone grew up speaking, so Rosa's calls are generated fully in Spanish, opener, topic question, and all.

How I built it

Stack: React + TypeScript frontend (Vite), an Express server, and a set of Node scripts that talk directly to CALL-E's own CLI.

The actual call pipeline:

  1. A resident profile (topic, family, language) gets turned into a call goal string.
  2. The server calls calle call plan, then calle call run, then polls calle call status until the call completes.
  3. The real transcript comes back, gets scanned for distress language, and gets logged.
  4. The dashboard polls that log every 8 seconds, so a completed call just appears, no rebuild, no manual refresh.

I built a real safety layer around the calling endpoint, not just the happy path:

  • Dry-run by default. Nothing dials unless DRY_RUN=false is explicitly set. Otherwise you get a preview of the masked phone number and the exact script CALL-E would follow.
  • Explicit per-request consent. The server rejects the call unless consent_confirmed: true is sent, which only happens once a human checks a box in the UI.
  • Idempotency protection. Every request carries a unique key. If a request gets retried, the server replays the original result instead of placing a second real call to the same person.

Challenges I ran into

The Spanish call. I built and validated the multi-language logic, the generated call script for Rosa comes out fully, correctly, in Spanish. When I actually tried placing that call live, CALL-E told me directly: Spanish isn't currently supported for US-region phone numbers. T

Being honest about scope. A few panels in this build, EHR sync, nurse pager alerts, a HIPAA audit trail, are illustrative. They show where this product could go with real integrations, but they're not live today. I labeled all of this explicitly in the README rather than let the UI look more finished than it is.

Keeping the dashboard genuinely live. Getting the frontend to correctly poll real call results, merge them with fallback sample data, and update without a manual refresh took a few iterations to get right, especially once real and sample data needed to coexist cleanly.

What's real vs. what's a roadmap sketch

Real and tested: the full calling pipeline, the three-gate safety layer, live transcripts, distress flagging, multi-language script generation, the live dashboard.

Illustrative / not yet built: EHR sync status, nurse pager dispatch, HIPAA audit logging, resident onboarding through the UI (doesn't persist to the real backend yet).

What's next

Real EHR integration, a real nurse-pager connection, and resolving the Spanish/US-region limitation, either through a supported number, or through CALL-E adding that support. The core pattern, real scheduled calls with a documented safety layer, is the part I'd want to build on.

Business model

RECALL-E is sold to the facility, not families: a flat per-resident monthly subscription that replaces staff hours facilities already spend on one-on-one reminiscence visits, not a new budget line.t

Built With

Share this project:

Updates

Submission history