Skip to content
Case studyWeb AppLive

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.

Request a walkthrough Private codebase · details on request
My role
Frontend Developer
Timeline
3 months
Year
2023
Pulseboard — screen 1

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

  1. 01Live charts that update on their own
  2. 02Filters by store, product and date
  3. 03Save a view and share it with a link
  4. 04Keyboard shortcuts for power users
  5. 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.

Available for new projects

Let's work together.

Have an idea for a website or an app, or a role to fill? Tell me about it — I'm open to freelance work & full-time roles.

  • Usually replies within 24 hours
  • Remote · clients worldwide
  • Freelance · Full-time · Contract