Back to projects

Spark Dashboard

Consolidating four BI tools into one app

Nov 2022 - Apr 2023
UI Developer
ReactNext.jsTypeScriptD3.jsPostgreSQL

Ownership

UI Developer

Team

Data Intelligence Team

Key Result

8s -> 2s Load Time

Overview

Internal analytics dashboard for 50+ data analysts at Spark New Zealand, replacing a mix of Power BI reports, Excel exports, and direct SQL workflows.

The Challenge

Analysts were working across multiple tools with inconsistent models, slow performance, and a high dependency on IT support for report changes.

Constraints

  • Migration had to happen without breaking existing analyst workflows.
  • Database safety mattered as much as UI flexibility.
  • Legacy report logic had undocumented business assumptions.

Decision Log

Problem

Query state sharing broke with high filter counts.

Decision

Used URL params for critical state plus localStorage hash references for full state.

Tradeoff

More implementation complexity and some cache edge cases.

Impact

Shareable links for complex views without URL explosion.

Problem

Client-side rendering collapsed under large datasets.

Decision

Moved heavy aggregation to backend and shipped rollups.

Tradeoff

Reduced ad hoc pivot flexibility.

Impact

Interactive chart latency dropped to usable levels.

Approach

1. The State Problem

Complex query state needed to be shareable without overloading the URL. The solution combined URL parameters for critical filters with local persisted state for larger configurations.

2. The Performance Cliff

Client-side rendering broke down on larger datasets, so aggregation moved to the backend and the client received smaller rollups instead of raw data.

3. The Migration

Migration had to preserve existing analyst work. An import tool handled part of the old Power BI configuration, with the rest recreated manually where necessary.

Outcome

The dashboard shipped to 50+ users, reduced load times, and cut down the dependency on IT for routine reporting changes.

8s -> 2s

Load Time

50+

Users

4

Tools Replaced

Learnings

  • A lot of performance work is about moving computation to the right place.
  • Migration work often takes longer than replacement UI work.
  • Flexible query tools need guardrails to protect shared infrastructure.
  • Legacy behavior often encodes business rules, even when it looks accidental.

Anti-Patterns Avoided

  • ×Unlimited free-form query execution against production tables.
  • ×Big-bang migration without compatibility bridges.
  • ×Treating analyst pain as a training problem instead of product debt.

Next Iterations

  • Query cost previews before run to prevent accidental heavy joins.
  • Saved-view governance with team-level ownership and audit trails.

Get In Touch

If you want to talk about similar work, email me.

Contact is the simplest place to start.

Next project

Vape Quit Coach