Pulseboard
A live sales dashboard for a retail team
Charts, filters and saved views that show sales across every store as they happen — quick to load, even with years of data.
- My role
- Frontend Developer
- Timeline
- 3 months
- Year
- 2023
Built with
- Next.js
- TypeScript
- GraphQL
- Tailwind CSS
- MongoDB
Key results
- less data per screen
- 60%
- to load the dashboard
- <1s
- types of charts
- 12
01Overview
The story
A retail team had to wait for end-of-day spreadsheets to see how their stores were doing. Pulseboard shows the numbers live. My focus was a dashboard that's easy to read, quick to load and simple to share.
02Features
What I built
- 01Live charts that update on their own
- 02Filters by store, product and date
- 03Save a view and share it with a link
- 04Keyboard shortcuts for power users
- 05Each team sees only what matters to them
03Challenge
Too much data on every screen
The problem
Each screen downloaded far more data than it actually showed, so the dashboard felt slow.
How I solved it
Every chart now asks only for the numbers it needs (using GraphQL), so screens load much faster.
04Challenge
Charts freezing on big date ranges
The problem
Showing a full year of sales froze the browser.
How I solved it
The numbers are now summarised on the server first, so the browser only draws what you can actually see.
Keep exploring