Case study 02

KPInsight

A live productivity dashboard that replaced a hand-maintained spreadsheet in a HIPAA-constrained lab.

Problem
Productivity tracked by hand, so bottlenecks surfaced a week late.
What I did
Shipped a live internal dashboard in 9 weeks instead of a vendor reporting module.
Result
Same-day reporting and voluntary adoption — the spreadsheet died on its own.
Role
Product manager and builder
Timeframe
9 weeks
Team
2 engineers, 1 lab analyst
Stack
Python, SQL Server, internal auth
6 days
reporting lag removed
14
managers weekly

Context

The lab runs high-volume clinical diagnostics under HIPAA, with the technology function reporting into the CIO. Nothing that touches specimen data can leave the internal network, which rules out most off-the-shelf analytics.

The problem

Section leads kept a shared spreadsheet of technician output. It was updated at the end of each shift by whoever remembered, so by the time a bottleneck was visible the affected samples had already aged.

I sized it by sitting with three section leads for a week and counting how long each spent reconciling the sheet, then cross-checking against the number of turnaround-time escalations that traced back to stale reporting.

Why this and not something else

The obvious ask was a full LIS reporting module. I did not build that. It would have required a vendor change request, a validation cycle, and a budget line, for a question managers needed answered daily.

I also declined to build technician-level scorecards. The moment individual output becomes a ranked list, the numbers get gamed and the data stops being useful for staffing decisions, which was the actual job.

Decisions and tradeoffs

Build, not buy: the data never leaves the network and the read model is small, so an internal Python service was cheaper than procurement.

V1 shipped with one view — output by section by shift — reading from a nightly snapshot. Live streaming, mobile layout, and export were deferred. The deferral was written down and shared, which is why nobody treated the gaps as bugs.

KPInsight, full dashboard. Screenshot to be added.

Constraints

HIPAA meant no PHI in any view, so the model aggregates before it reaches the presentation layer. Legacy shift-handoff workflows had to stay untouched. The engineering team spans the US, Pakistan, and Egypt, so I ran written specs and one overlapping hour a day rather than a standing meeting.

Outcome

The reporting loop went from weekly and manual to same-day and automatic, and the staffing conversation moved from memory to a shared view.

0 days
Reporting lag removed, from a week to same day
0
Managers using it in a normal week
0 weeks
Discovery to production, one release

The clearer signal was adoption without a mandate: nobody was told to use it, and the spreadsheet stopped being updated within a month.

What I'd do differently

I would have validated the nightly snapshot decision earlier. It was the right call for v1, but I let managers assume the numbers were live for two weeks before I labelled the freshness on screen, and that cost me credibility I had to earn back.

Open to technical product management roles.