SimpleDial Kiosk
Always-on home device for the elder. Large-button layout purpose-built for cognitive and vision accessibility.
- 8 photo contact tiles, one-tap calling
- Voice dialing via on-device speech recognition
- Hearing aid & Bluetooth device support
- Screen flash on incoming call
- Quiet hours with configurable weekday/weekend windows
- Adjustable font scale (4 presets)
- Kiosk lock — device owner, no lock screen, home app pinned
- Silent OTA self-updates via PackageInstaller
Companion App
Caregiver control centre. Full management of the kiosk device and care configuration from a mobile app.
- Video & audio calls to kiosk
- Push-to-talk (WebRTC audio channel)
- Live screen view and remote touch control
- Medication reminder scheduling with history
- Daily routines & task assignments
- Device location (GPS map) & battery
- Activity feed & call history
- Multi-caregiver access with role-based permissions
SimpleContact
Lightweight phone app for family members who can receive calls directly from the elder’s kiosk device.
- Receive video/audio calls from kiosk
- Full-screen incoming call UI, auto wakes screen
- Pairing via 8-digit code (caregiver issues)
- FCM-driven wake from background for reliable delivery
Backend Platform
Central orchestration server. Manages all real-time communication, data persistence, scheduling, and push delivery.
- 3 authenticated WebSocket endpoints (Kiosk · Caregiver · SimpleContact)
- 25+ REST API routes with JWT auth
- 5 node-cron schedulers (reminders · routines · cleanup)
- Full device sync on reconnect
- AI pill identification via GPT-4o Vision
- Device ownership transfer with audit log
- OTA update hosting and version management
One-Tap Calling
PSTN & VoIP with photo contact grid
Video Calls
WebRTC P2P with TURN NAT relay fallback
Medication Reminders
Scheduled push with caregiver acknowledgement
Screen Monitoring
Live view and remote touch injection
Push-to-Talk
Real-time audio via WebRTC audio channel
Kiosk Security
Device owner, persistent launcher, PIN admin
Calendar & Routines
Event reminders and daily task assignments
Device Location
GPS heartbeat with live map in companion
Voice Messages
Caregiver audio notes played on kiosk
Silent OTA Updates
APK pushed without any user interaction
AI Pill Identification
GPT-4o Vision for medication photo recognition
Activity Audit
Full caregiver action log with indexed queries
Node.js + Fastify 5
High-performance TypeScript server. Event-driven I/O handles thousands of concurrent WebSocket connections without blocking.
PostgreSQL + Prisma
27 data models. Activity log indexed on (deviceId, createdAt) for fast audit queries. Schema managed via Prisma migrations.
Firebase Cloud Messaging
FCM delivers call notifications and alerts to all three client platforms — ensuring reliable delivery even when apps are backgrounded.
Coturn TURN Server
HMAC-secured per-session credentials. SNI-terminated at port 443 via nginx for reliable traversal of restrictive corporate firewalls.
Caddy + nginx
Caddy handles HTTPS and automatic TLS certificate provisioning. nginx SNI-routes port 443 between Caddy and the Coturn TURN server.
OpenAI GPT-4o Vision
Vision API identifies medications from caregiver pill photos. remove.bg API removes backgrounds from contact photos automatically.
JWT + Device Keys
24-hour JWT tokens for caregiver sessions. Each kiosk holds a unique X-Device-Key, rotated on provisioning.
Role-Based Permissions
Owner vs. member caregiver roles with per-feature permission flags. PIN-protected admin access on the kiosk device.
GDPR Data Deletion
Self-service data deletion form. Device logs auto-purged after 30 days. Voice message and voicemail expiry enforced server-side.
TLS Everywhere + HMAC
All traffic over TLS. TURN credentials time-limited with HMAC signatures. User passwords hashed with bcrypt (salted rounds).