Birdhouse is an innovative IoT-based monitoring system that uses motion sensors to track senior activity patterns and alert caregivers of potential emergencies. As the Data Engineer / Architect on the team, I led the development of a comprehensive data infrastructure that processes real-time sensor data and transforms it into actionable insights for caregivers.
The heart of our solution lies in its data architecture. I designed a PostgreSQL database optimized for time-series IoT data, implementing efficient data partitioning for historical pattern analysis. Using Python, I developed robust ETL pipelines that handle sensor data ingestion, cleaning, and validation.
- Designed and implemented PostgreSQL database architecture
- Created interactive Tableau dashboards
- Developed data pipeline connecting IoT sensors
- Conducted user research
System Architecture
The data model centres on the seniors table, which connects outward to four key domains: devices (IoT sensor hardware), check-ins (raw activity data from sensors), AI insights (pattern analysis and sentiment), and alerts (triggered notifications to caregivers and AAC staff). I designed the schema to separate real-time event data (check-ins, alerts) from derived intelligence (AI insights), so the pipeline can process raw sensor data without blocking the analytics layer
Caseload Overview – Main Dashboard
The main dashboard answers the first question every AAC staff member has when they start their shift: who needs attention right now? It surfaces seniors with no detected activity in the last 24 hours, sorted by urgency: ‘Needs Attention’ (no check-in, caregiver not yet contacted) versus ‘Caregiver Alerted’ (notification already sent).
Caseload Overview – Individual Senior Profile
Drilling into an individual senior reveals their activity pattern over time. The check-in frequency heatmap shows hourly activity across days. Darker blocks indicate more movement detected by the IoT sensor. Staff can quickly spot anomalies: a senior who’s normally active by 7am but shows no movement by 10am triggers an orange alert. The Smart Notes panel uses AI to summarise the senior’s general patterns in plain language (e.g., ‘Sleep duration has been 7-8 hours on average’), giving staff context without requiring them to interpret raw data