3D estate visibility and live HubSpot sync for an NHS-adjacent healthcare staffing platform
A geographic view of the NHS secondary-care estate that reads and writes straight into HubSpot, plus a separate dashboard that ranks outbound leads for the SDR team. Anonymised at client request: the sector and the technical build below are accurate and unchanged, only the client's name is withheld while sign-off is confirmed.
- 71 NHS trusts mapped
- Live two-way HubSpot read and write
- Role-based access control
Who this is
The client is an NHS-adjacent healthcare staffing platform, connecting temporary and locum clinical staff with NHS trusts across the UK. Its commercial and SDR teams sell into secondary care: individual NHS trusts and the hospital sites that sit within them. Anonymised at client request: the facts below are unchanged, only the name is withheld pending sign-off.
The problem
Secondary care in the UK spans a large number of trusts and individual hospital sites, and the client's commercial and SDR teams needed to work that estate directly: which trusts had live deals, where those deals sat in the pipeline, and where outbound effort was best spent next. That view existed as rows in HubSpot and separate lead lists. It did not exist as something a commercial team could look at, act on, and hand off between reps without re-checking the underlying data by hand.
What we built
Secondary Care Cockpit
A 3D map of the NHS secondary-care estate, built in Next.js and Three.js, covering 71 NHS trusts. Hospital sites are laid out geographically rather than as spreadsheet rows, and deals can be dragged directly between pipeline stages on the map itself. The cockpit reads and writes live to HubSpot: move a deal on the map and it updates in the CRM immediately, no export, no re-entry, no second system to reconcile. A built-in assistant takes plain-English instructions, so a user can type a request rather than hunting through menus to make the same change. Access is controlled by a standalone user-management layer built specifically for the cockpit, with role enforcement separate from HubSpot's own permission model, so who can see and change what is set deliberately rather than inherited by default.
SDR Activation Dashboard
A second, separate build for the SDR team, orchestrated in n8n and backed by a sharded Upstash Redis store for speed at volume. It pulls data from HubSpot and Looker and ranks incoming leads into priority tiers, with channel attribution showing which source, outbound call, email, or another channel, originated each one. SDRs work a ranked queue instead of an unranked list, and the team can see which channels are actually converting rather than assuming it.
What changed
The commercial team now has one current, visual picture of estate coverage across all 71 trusts instead of reading it off spreadsheet exports, and changes made on the map are the same data the CRM holds, not a parallel copy that drifts out of sync. The SDR team works from a ranked queue with the originating channel attached to each lead, rather than an unranked list with no attribution.
Want a build like this scoped for your own estate or pipeline? Book a free audit and we will walk through what is possible with your CRM and your data as they stand today.