Operations analytics
Measuring how long a department makes people wait
A shared inbox with no visibility became a measured service line with a response time anyone can check.
- Client
- Healthcare education provider
- Period
- 2024-2026
- Stack
- Node.js, Mail API, PostgreSQL, Next.js
The problem
A department email box handled thousands of student threads a year. Nobody could answer the only question that mattered: when someone writes to us, how long do they actually wait? Student records rules meant the message bodies were off limits.
What I built
A collector that reads only envelope metadata through the mail API, never message content, and stores thread timing in Postgres. Delta sync keeps it current without re-reading history. Reporting separates replies to real people from machine traffic, because mixing them hides the number that matters.
Result
Median reply time to a human correspondent went from just over a day to under an hour across two years, and the number stayed visible enough that it could not quietly drift back.