Engage365 — Education Sales Operations, 2025
Replacing spreadsheet chaos with a tiered lead distribution pipeline for education sales
A role-based sales platform that cleans up messy spreadsheet exports, structures every call review, and organises lead distribution across tiered teams.

Problem
The admissions and sales team worked its leads out of shared spreadsheets. Inquiries came in with details like graduation year, academic background and course of interest, and several callers and team leads worked from the same sheets — so there was no dependable answer to who owned a lead, what had happened on the last call, or what was supposed to happen next.
The spreadsheets themselves damaged the data. Phone numbers exported into scientific notation, which leaves a lead uncallable until someone repairs it by hand. Dates arrived in several conflicting formats, and phone numbers regularly ended up pasted into email columns. With no constraints on what went where, there was no reliable way to tell an active lead from a cold one.
The team's structure was the other half of the problem. Administrators supervise team leads, and each team lead manages their own group of callers. A generic contact list has nowhere to put that, so the system needed to be built around the team rather than the other way round.
What we built
We built Engage365, a customer management platform centred on lead routing and activity tracking, with a React and TypeScript frontend, Tailwind CSS, an Express API, and PostgreSQL through Prisma. It is organised around three roles: administrators oversee operations, team leads manage their own rosters, and callers work from the leads assigned to them.
Batched reassignment over one large transaction
Administrators regularly move hundreds of leads between callers at once. Doing that in a single database transaction was timing out against the hosted database, so assignments are split into chunks of fifty, each in its own transaction with a sixty-second ceiling. A problem in one chunk no longer rolls back the entire reassignment.
Tolerant intake over strict manual entry
To stop bad imports without slowing the team down, a parser cleans each spreadsheet in the browser before any of it is sent to the server. It maps inconsistent column headers, converts scientific-notation phone numbers back into plain numbers, normalises the different date formats, and separates columns that mix emails and phone numbers into distinct fields. Callers keep working from the exports they already have, and the database still only receives clean, typed records.
Hierarchical scoping over flat ownership
Instead of treating every lead as belonging to one person in a flat list, administrators build reporting trees in a visual mapping workspace, linking each team lead to the callers they manage. Those mappings decide who a team lead can hand leads to, so redistribution follows the real structure of the team.
Structured call reviews over open-ended notes
Free-form notes make it impossible to judge the quality of outreach or the health of the pipeline. Each call is logged through a structured review instead: the type of call, a standard tag for the customer's response, a rating, the agreed next step, and a follow-up date. Every lead ends up with a recorded outcome and a scheduled next touchpoint.
Result
Engage365 is in staging and active development, so there are no production conversion or revenue figures to report yet, and we will not estimate them here.
What works today: spreadsheet imports cleaned on the way in, bulk reassignment in batches, the reporting hierarchy, and structured call reviews that leave every lead with a next step.
The project reinforced something we now design around from the start. Whether a sales team adopts a tool depends less on how many features it has than on how well it copes with the messy data people already have. Accept the spreadsheet as it arrives, and enforce correctness quietly in the database.
Screens



Something here sound like your problem?
Call and describe it. We will tell you on that call whether we are the right people for it.