Business Dashboard
One dashboard, four data sources, zero spreadsheet exports.
Client
Confidential
Year
2023
Duration
6 months
The challenge
An executive team was spending hours per week reconciling reports from four separate systems: a CRM, a finance platform, a support tool, and an operations database. The spreadsheets were always out of date, always required a human to produce, and always raised more questions than they answered.
They wanted a single source of truth — in real time, not overnight batch.
What we built
- Data pipeline: Python/FastAPI service that polls each source on its own cadence, normalizes records into a shared schema, and writes to a PostgreSQL warehouse.
- Real-time layer: WebSocket push for the metrics that change fastest (sales, support ticket volume).
- Dashboard UI: React frontend with D3-backed visualizations — time-series, cohort analysis, geographic breakdown, and drill-downs that work on every chart.
- Role-based access: engineers, sales, finance, and executives each see a tailored view. Nothing visible that shouldn't be.
- Export: one-click CSV and PDF reports for the exec team's board decks.
Results
- Weekly reporting time dropped from ~10 person-hours to ~15 minutes (just a spot-check).
- New metric requests turn around in hours, not weeks.
- Exec team adopted it as the first tab open in the morning.
What we learned
The data pipeline is always harder than the UI. We spent roughly 60% of the engineering budget on the ingestion and normalization layer, and that turned out to be the right split — because when the data is clean and fresh, the UI practically writes itself.
Also: real-time isn't always the right answer. Some metrics update once a day and should. Pretending they're live would just add cost. Match the update cadence to the source reality.
Technology
Working on something similar?
Send the shape of the problem. We'll tell you what it would take to solve.
Start a project