Member 360
One screen per member: orders, stock, deliveries, invoices and tickets from five systems.
Member 360 is the lookup tool I built for staff at The Branding Club: search a member and get one screen with their orders, stock, deliveries, invoices, support tickets and deals, pulled together from the CRM, the order system, the warehouse and finance. The same data is exposed as an MCP server, so colleagues can also just ask questions in plain language.
The problem
Answering a simple member question meant opening four or five systems: the CRM for the account, the order system for production orders, the warehouse system for stock and deliveries, finance for invoices and the ticket tool for open requests. Every system used its own ID for the same company, units differed (boxes in one place, pieces in another) and nobody could say with confidence whether the stock on the shelf matched what had been ordered and shipped.
The approach
I built a source-of-truth layer in Postgres around a crosswalk that links every system's identifier for a member and grows as new identifiers show up. Everything is normalised to pieces before it is compared, and stock snapshots are rebuilt every hour. A Cloudflare Worker serves both the staff UI and an MCP server with tools such as get_member_360, lookup_order and lookup_ean. The chat in the UI calls those same tools through the Claude API and has to do a fresh lookup for every question and state the snapshot date, so an answer never comes from an old conversation. A reconciliation view compares ordered, shipped and counted stock per EAN and flags differences for follow-up.
Highlights
- checkCrosswalk that links CRM, order, warehouse and finance IDs per member and extends itself
- checkAll quantities normalised to pieces first (boxes × lot size, units × pieces per unit)
- checkStock reconciliation per EAN: ordered minus shipped against what the warehouse counted
- checkMCP server on Cloudflare Workers, so Claude can query exactly what the UI shows
- checkChat answers name their sources and the stock snapshot date
- checkDelivery proof (photo, signature, POD) streamed through an authenticated proxy