Before
Page Speed38/100
Bounce Rate82%
Conversions0.4%
After
Page Speed98/100
Bounce Rate24%
Conversions+340%
L
Logic Layer Solution
logiclayersolution.uk
before
after
We Build Digital Experiences
That Drive Growth.
150+
Projects
98%
Satisfied
8yr
Experience
All work
SaaS Platform · 2025

Lattice — observability for autonomous fleets

Real-time fleet telemetry dashboard with sub-100ms data refresh, built on Next.js App Router with edge streaming.

Client
Lattice Robotics
Industry
Robotics · Autonomous systems
Duration
14 weeks
Year
2025
Next.jsEdgeRealtime
app.lattice.io / dashboard
Lattice
Overview
Fleets
Alerts
Logs
Team
Settings
Fleet overview
Real-time · all regions
Live
P75 latency
340ms
−92%
Active fleets
1,284
+22%
Uptime
99.99%
Throughput · 24h
By region
Top events
event_1156
event_2290
event_3424
Fig. 01 — Production UI · 2025Lattice Robotics
Year
2025
Category
SaaS Platform · 2025
Stack
Next.jsEdgeRealtime
Scope
  • Discovery & operator research
  • Information architecture
  • UI design system
  • Front-end engineering
  • Edge streaming infrastructure
  • Observability + on-call runbooks
The challenge

What they needed to solve.

Lattice needed to visualise 50,000+ sensor events per second across a global fleet of autonomous vehicles. The existing tool was a Grafana fork that crashed at 20% load and offered no operator workflow on top of the raw data.

Our solution

How we approached it.

We built a custom edge-streaming pipeline using Next.js App Router with React Server Components and WebSocket bridging, paired with a D3-canvas hybrid renderer for zero-DOM-overhead chart updates. Role-based views surface the right alerts for fleet operators, ground crew, and the SRE team — without overwhelming any of them.

Web design

Design decisions.

Palette
#0e0c0a
#1a1a2e
#e0622a
#a78bfa
#10b981
Typography
  • AaGeist Mono — telemetry numerals
  • AaGeist Sans — UI text
  • AaInstrument Serif — section titles
Layout system

8-pt baseline grid, dark-first OKLCH tokens, custom data-density rules per role.

Design highlights
  • Canvas-driven realtime charts at 60fps
  • WCAG 2.2 AA contrast on every chart label
  • Density toggle (compact / standard / spacious)
Before · After

What changed.

app.lattice.io / dashboard
Lattice
Overview
Fleets
Alerts
Logs
Team
Settings
Fleet overview
Real-time · all regions
Live
P75 latency
340ms
−92%
Active fleets
1,284
+22%
Uptime
99.99%
Throughput · 24h
By region
Top events
event_1156
event_2290
event_3424
After
app.lattice.io / dashboard
Lattice
Overview
Fleets
Alerts
Logs
Team
Settings
Dashboard
Last updated 04:12
Refresh
P75 latency
4.2s
Active fleets
412
Uptime
97.1%
Activity
By region
Top events
event_18
event_216
event_324
Before
Drag to compare ←→
Fig. 02 — Drag handle to reveal before / afterLattice Robotics
app.lattice.io / dashboard
Lattice
Overview
Fleets
Alerts
Logs
Team
Settings
Dashboard
Last updated 04:12
Refresh
P75 latency
4.2s
Active fleets
412
Uptime
97.1%
Activity
By region
Top events
event_18
event_216
event_324
Before

Grafana fork — generic dashboards, no operator workflow, frequent UI freezes during incidents.

P75 latency
4.2s
Concurrent users
~40
Operator handover
12 min
Crash rate / week
3.1
app.lattice.io / dashboard
Lattice
Overview
Fleets
Alerts
Logs
Team
Settings
Fleet overview
Real-time · all regions
Live
P75 latency
340ms
−92%
Active fleets
1,284
+22%
Uptime
99.99%
Throughput · 24h
By region
Top events
event_1156
event_2290
event_3424
After

Purpose-built operator console with role-based views, edge streaming, and zero-DOM chart updates.

P75 latency
340ms
Concurrent users
200+
Operator handover
90s
Crash rate / week
0
Results

What we measured.

01P75 latency dropped from 4.2s to 340ms
02Dashboard supports 200 concurrent fleet operators
03Zero downtime since launch — 18 months running
04Operator handover time cut from 12 min to 90s