Six operational control surfaces for a single multi-hub business — each one a screen an operator actually acts on. Built to follow one question down the whole chain: is the shift covered, who takes what, is the team performing, does the base retain and grow, will we make the number, did the money land? Same hubs, same markets, same data universe — one company seen from six functions.
Turns a flat roster into a visual coverage plan — who works when, where staffing falls short of target, and which assignments breach working-time rules. Three rules checked live as you edit: at most five days in any rolling seven, twelve hours between shifts, one shift a day. Catches gaps and breaches while you build the rota, not after it ships.
Sorts a ticketing export into an owned, de-duplicated queue the moment it loads — separating the customers who opened several tickets from the genuinely unique ones, so two agents never work the same customer in parallel. Claim, assign, merge and resolve, with consolidation kept non-destructive and fully reversible.
A live, filterable read on how a multi-market support team is performing — who is on pace, which operation is lagging, how the month is trending. A "floor" tier model shows the weakest link instead of hiding it behind an average: an operation only turns gold when every agent clears the bar. Month-to-date projection flags a shortfall in week two, not on the last day.
The bridge from support quality to retained revenue. Net & gross revenue retention as the headline, an ARR bridge from expansion to churn, account health scoring, and retention by cohort. Account health is seeded by each hub's support quality — so the region with the weakest support floor carries the worst retention, made visible in one health-versus-revenue chart.
A single screen for a director running multiple regions: quota attainment, manager comparison on one yardstick, pipeline coverage against the gap to quota, and an end-of-quarter forecast with a commit / best / worst band. Moves the read from what closed to what will happen.
The last link: turns a raw AR book into the four things a collections lead acts on every morning — where money is aging, whether collection is slipping, who to chase first, and how much cash realistically lands next quarter. A prioritization engine scores every account and re-routes disputes to "resolve" rather than chasing payment that can't yet be collected.
I lead a 50+ agent operation across 14 regulated European markets, reporting straight to department leadership with no layer in between. The KPIs I own are revenue-linked; the team I run is multilingual and multi-market. When the operation needed visibility and the off-the-shelf tools didn't fit, I built the tooling myself — reporting automation, scheduling, a live performance dashboard, an AI case assistant — and put them into production with the team.
This ecosystem is that instinct rebuilt from scratch on synthetic data: six control surfaces that show how I think about an operation end to end — capacity, workflow, productivity, revenue, cash — not as six reports, but as one chain where each decision feeds the next. Six years before this in finance and operations at SAP and Dell: collections, accounts receivable, order-to-cash, 100% of collection and revenue targets across North America for two consecutive years.
Every tool is a single index.html — no backend, no build step, no framework. Vanilla JavaScript, Chart.js for visuals, PapaParse for CSV. Deployable to GitHub Pages as-is; opens instantly with zero setup.
Each ships with a seeded synthetic dataset so the demo works on first load. Drop in a real export and the column-mapping uploader handles it — European or US number and date formats, mixed separators and encodings, with skipped rows reported, never silently dropped.
All six run on the same four hubs, the same ten markets and the same mulberry32 seed. The roster Shift Planner staffs is the population Performance Tracker scores; the deal Revenue Cockpit books is the receivable AR Cockpit collects.
All processing is client-side. No credentials, no uploads to a server, no data leaving the page. Every figure on screen is synthetic — no real customers, agents, deals or company names appear anywhere.