Case Study

5 Dashboards on 9 Million Orders

A full replacement of a legacy Looker extension — rebuilt in React + TypeScript with 99% fewer API calls and custom chart rendering.

An e-commerce order-management platform was running a Looker extension that triggered 2,400+ API calls per page load, had no layout customisation, and was showing wrong KPIs due to SQL fanout bugs. We rebuilt it from the ground up — 5 dashboards, 9.1M live orders, $585M revenue volume.

E-commerce SaaS · USA·React 18TypeScriptRechartsLooker SDKBigQuery
L
E-commerce Platform
|Order Analytics|Last 90 days ▾
BigQueryLooker SDK
Live • 9.1M orders
Overview
Revenue
Fulfillment
Email
Attribution
99% fewer API calls

Total Orders (90d)

9.1M

12.4% vs prior

BigQuery live

Gross Revenue

$585M

8.7% vs prior

excl. refunds

Avg Order Value

$64.28

3.1% vs prior

all channels

Fulfillment Rate

97.3%

0.4pp vs prior

shipped/confirmed

API Calls / Load

~11

99% reduction

was 2,400+

Revenue Trend (90d)

BigQuery
this period prior period

▲ +8.7% revenue growth vs prior 90d

Order Status Breakdown

Live
Fulfilled
8.86M
Processing
182K
Cancelled
44K
Refunded
14K

SQL fanout bugs fixed — 5 KPIs corrected

Revenue by Channel

Recharts
Direct
$241M
Email
$156M
Paid Search
$98M
Organic
$62M
Affiliates
$28M

Custom Recharts rendering — no embed tiles

Orders Volume Trend (90d)

BigQuery
JanFebMarApr

▲ +12.4% order volume — peak single-day: 148K orders

5 Dashboards — 83 Tiles

TypeScript
DashboardTilesStatus
Overview (KPI)22 tilesLive
Revenue Analysis18 tilesLive
Fulfillment Ops17 tilesLive
Email Performance14 tilesLive
Attribution12 tilesBeta
At a glance

Results That Speak for Themselves

9.1M

Live orders in production

99%

API call reduction (2,400 → ~11)

$585M

Revenue volume tracked

83

Tiles across all 5 dashboards

From challenge to outcome

The Problem & Our Approach

A Legacy Extension That Couldn't Scale

The existing Looker extension embedded native dashboard tiles via the Embed SDK — triggering over 2,400 individual API calls per page load. Every page visit was slow, blank-screen interstitials lasted 2-3 seconds, and there was no way to customise layouts or add date presets.

  • 2,400+ Looker API calls per page load
  • No drag-and-drop layout or date presets
  • Blank tiles when underlying tables were empty
  • 5 SQL fanout bugs inflating KPIs — wrong numbers shown to customers
  • No per-tenant embed security
  • 2-3 second blank-screen interstitial on every load

Five Dashboards Rebuilt From the Ground Up

We rebuilt the extension in React 18 + TypeScript using Recharts for rendering instead of Looker native tiles. By batching queries and parallelising SDK initialisation, we reduced API calls from 2,400 down to ~11 per page load.

  • Recharts instead of Looker native tiles — full rendering control
  • Parallelised Looker Embed SDK init — zero blank-screen interstitial
  • 3-hour localStorage cache — instant repeat visits
  • Client-side D|M|Y aggregation from day-level data
  • React-grid-layout for drag-and-drop personalisation
  • Cookieless embed v2 + service account for per-tenant isolation
  • Holt-Winters revenue forecast built in
  • Graceful degradation on empty tables

What We Achieved

Full extension replacement live in production with 9.1M orders
API calls reduced from 2,400+ to ~11 per page load (99% reduction)
Zero blank-screen interstitial — instant perceived load
Drag-and-drop layout personalisation per user
Graceful degradation on empty tables — no more blank tiles
Per-tenant embed isolation via cookieless embed v2 + service account
Holt-Winters revenue forecast shipped as part of the Summary dashboard
5 SQL fanout KPI bugs identified and corrected

The Five Dashboards

Each dashboard was designed around a specific decision — from executive revenue overview to granular asset tracking.

  • Summary (23 tiles) — Revenue, orders, AOV, forecasts
  • Shipping & Alerts (16 tiles) — Shipment volume, carrier mix, transit days
  • Returns (17 tiles) — Return rate, reasons, ageing
  • Asset Retrieval (13 tiles) — QR code usage, asset tracking
  • Action Alert (14 tiles) — Email metrics, send volumes

Before vs. After

DimensionBeforeAfter
API calls per page load2,400+~11
Blank-screen interstitial2-3 secondsZero
Layout customisationNoneDrag-and-drop
Date presetsNoneFull range options
KPI accuracySQL fanout errors on 5 KPIsIndependently validated
Embed securityNoneCookieless embed v2 + service account

Engineering Decisions That Mattered

  • Client-side compute fills data gaps without a server round-trip
  • 3-hour localStorage cache makes repeat visits instant — no API call at all
  • Holt-Winters forecasting) is computed client-side on the fetched day-level data
  • Bundle size: 961 KiB — within acceptable range for an authenticated B2B extension
  • Parallel Looker Embed SDK initialisation eliminated the blank-screen interstitial entirely

Discuss a similar E-commerce SaaS project

Lets Viz runs a paid discovery audit ($500–1,000, credited toward the project) to scope your requirements, data model, and architecture before writing a line of code.

From Lets Viz

Helping companies make data-driven decisions to achieve their Goals

Experience superior data analysis with our custom dashboards. Specialising in all tools and technologies, we turn data into visually compelling, actionable insights.

NDA-safe · No obligation · Clear next steps