Case study
Automation Productivity Dashboard
Org-scoped App Hub dashboards that turn bot runs, PDF jobs, audits, and Azure DevOps projects into FTE / man-day / hours-saved insights with BU-scoped RBAC — live across Projects, Business Insights, Automation Insights, Realised FTEs, Audit, and PDF Extractor.
Problem
App Hub runs bots, PDF extraction, and audits across business units, but leadership needed one place to see time saved, FTE impact, project status, and audit quality — with permissions so each BU only sees what it should.
Solution — six insight surfaces
- Projects — Azure DevOps projects (371 tracked), BU cards (Jalpa / Karim / Global), FTE-by-month strip (~194 total FTEs; Live ~70, Dev Done ~77), PM / SR CSM beside Owner, table/timeline/history, Excel export, Realized FTE edits — plus inline ADO discussions/comments and status & color management patched back to DevOps
- Business Insights — FTE Sent 2,770 (~$20.12M charge cost), FTE Accrued 1,645 (~$11.95M), process success / accuracy KPIs, daily patient volume + weekly success trends
- Automation Insights — sample week: 1,022 instances, 2,099 runs, ~117,986 jobs, 84% success, up to ~889 hours / ~112 man-days savings
- Realised FTEs — buffer-pool placement (e.g. 67% allocated) across BUs, with automation-related pooled / re-allocation reasons
- Audit — all templates with closed counts; sample week: 20 templates, 1,907 work items, 77.8% accuracy, 19.1 audit hours — backed by Audit Center process templates, copy-process, and response review tooling
- PDF Extractor — sample week: 95 PDFs, 29.4 hours saved, per-template productivity (Patient Statement, Hospital Billing, Superbill, …)
Productivity model
- Operators enter saved minutes on PDF jobs / bot-run productivity hooks (PDF execute validates
saved_minutes_total— no negatives; minimum 15 when provided) hours = saved_minutes / 60manDays / FTE = hours / 8(8-hour FTE day in ai-services)- Aggregations via
/pdf-extractor/{orgId}/internal/productivity/*and .NET automation-dashboard APIs
Security & tenancy
Org-scoped data with JWT permissions such as automation.dashboard.bu.* and automation.dashboard.realizedfte.update.bu.*— Realized FTE edits and BU cards only for authorized users.
What I built
- React insight UIs (Recharts KPIs, date ranges, drill-down drawers/tables)
- .NET dashboard services for projects, Realized FTE, audit/automation summaries
- FastAPI productivity persistence + internal metrics for PDF volume/savings
- BU-aware permission checks aligned with App Hub grants
Tech Stack
ReactRechartsTypeScript.NET 9FastAPISQL ServerAzure DevOpsJWT RBAC