Aperture Analytics
A real-time analytics suite for product teams. I owned the design system and the entire frontend architecture, building a dashboard that renders millions of data points without dropping a frame.
- 2.1s
- Avg. load time
- +38%
- Trial conversion
Aperture came to me with a hard problem dressed up as a simple one: build an analytics product that feels instant, even when it's chewing through millions of events. The old dashboard worked — but it felt heavy, and heavy software doesn't get renewed.
The challenge
The existing surface buckled under real customer data. Charts stuttered, filters lagged, and the team's best engineers were spending their weeks fighting the rendering layer instead of shipping features. Worse, the design language had drifted: every screen looked like it came from a slightly different product.
The brief was twofold — make it fast, and make it feel like one considered thing.
The approach
I started where the pain was loudest and worked outward.
- A real design system first. Tokens, primitives, and a small set of composable chart components — so every team built from the same vocabulary.
- A rendering budget. I moved the heaviest visualisations to a WebGL layer and set a hard frame budget. If a view couldn't hit it, it didn't ship.
- Streaming by default. Data arrives progressively, so the first meaningful paint lands in seconds and detail fills in without a spinner in sight.
- Edge-first data access. A typed tRPC layer over Postgres, cached at the edge, kept interactions feeling local.
The product simply looks and feels expensive now — and our enterprise demos close themselves.
The outcome
The new Aperture renders millions of points without dropping a frame, and the design system became the backbone the whole company builds on. Time-to-insight was cut in half, and the suite became the flagship of the enterprise tier — the surface the sales team leads with.
Have a project in mind?
Let's build something worth remembering.
Mojtaba Shaito