A single-page dashboard that turns raw HubSpot email-click data into a prioritized call list. It scores every enrolled prospect into engagement tiers, surfaces accounts where multiple contacts are active, and lets a rep queue call tasks for the hottest leads in one click.
Live demo Built with vanilla JavaScript and Chart.js. No framework, no build step.
Note on data: every contact, company, phone number, and email in this demo is fabricated, and the CRM IDs are placeholders. The tool was built against a live HubSpot instance inside a real B2B SaaS GTM workflow. The version here runs on anonymized sample data so it can be shared publicly.
A sales sequence enrolls thousands of contacts and reports clicks, but a rep can’t act on a spreadsheet of click counts. The signal that matters, who is engaged enough to call today, gets buried. This tool reads the engagement data and answers one question: who do I call, and what do I say.
The dashboard is one self-contained index.html file. Contact and sequence data live in a JavaScript array, and the rendering, tier scoring, clustering math, and modal logic are plain JS. The bar chart uses Chart.js loaded from a CDN. There is no backend, no build pipeline, and nothing to install. Open the file and it runs.
In production, the data array is populated from HubSpot’s sequence and engagement APIs, and the task-creation step writes back to HubSpot through the CRM API.
Clone the repo and open index.html in any browser. That is the whole setup.