

Case study
The sales portal we built for a cyber security reseller
A sales team, a CRM, and a pipeline nobody trusted. We built the layer that runs the sales cycle: one place for a rep to work their book, one page for a manager to see the whole team, and follow-up that no longer depends on who remembered.
- Client
- A cyber security reseller and managed service provider, named on request
- What it is
- An internal sales portal for their account managers
- Who uses it
- Account managers, their managers, and leadership
- Built on
- Next.js, Postgres, Microsoft 365, Monday.com, vendor APIs
What changed
Four things, in the client's own assessment. Each one is a thing the system makes happen, not a mood it improved.
The team actually opens it
Engagement was the whole risk. Internal tools get built and then quietly abandoned, so the portal measures its own use: who was last active, which sections get opened, which never do. That panel is how the client can say adoption went up rather than hope it did, and it is why features nobody touched got cut instead of defended.
Vendor and partner work stopped living in inboxes
A reseller's revenue runs through its vendors. Accreditations, proof-of-concept requests, tender responses and the product catalogue now sit against the accounts they belong to, so a manager can see which partner commitments are open and who owns each one without asking around.
Follow-up stopped depending on who remembered
Every deal carries a next step and an owner, and the follow-through panel exists specifically to surface the gap between what someone said they would do and what the record shows happened. Chasing is no longer a personality trait of the best rep on the team.
One environment instead of six
Lead list, call work, pipeline, plans, tenders, POCs, training and the numbers behind all of it are in one place, reading from the mailbox, the boards and the vendor systems the business already paid for. Nobody reconciles a spreadsheet to find out where the quarter stands.
The problem
The business was not short of software. It had a CRM, a mailbox, vendor portals, and spreadsheets filling the gaps between them. What it did not have was a single place where the sales cycle happened.
Leads arrived from several directions and sat there. Half of them had no phone number or email address attached, so working the list meant first finding out which rows could be called at all. Pipeline reviews ran on whatever each rep had typed into a spreadsheet that week. A manager asking a straight question, like which accounts went quiet after a first meeting, had no way to answer it without asking five people and waiting.
The brief was not to replace the CRM. It was to make the process around it real, visible, and hard to skip.
What an account manager gets
This is the part of the portal most people use most days. Each module below is a screen a rep opens by name, and each exists because that part of the job was previously happening somewhere else.
- My Accounts
- Every company an account manager owns, with the contacts, the open work, and the last thing that happened on each one.
- Open Leads
- The top of the funnel as a call list. About half the rows arrive with no phone or email on them, so the first control on the page splits reachable from not reachable. That split is the page, not a filter hidden in a dropdown.
- Speed Calling
- Deliberately separate from Open Leads: this works contacts at accounts the rep already owns, one after another, with the dial, the note, and the next step in the same view.
- Performance and Pipeline
- What is in play, what stage it sits at, and what it is worth, against the target for the period.
- 100 Day Plans
- The account plan each person commits to, with deadlines that show as a banner in the portal rather than living in someone's inbox.
- Tenders and Tender Fit
- Tenders are dropped in and assessed against what the business can actually deliver, with the source documents behind every answer.
- Proof of Concept
- POC requests and their state, so a vendor trial does not quietly stall between the partner and the customer.
- Solutions
- The vendor and product catalogue, mapped to the accounts it fits, so a rep can see what else an account could buy.
- Academy
- Vendor and product training tracked per person, because accreditation is what lets a reseller sell in the first place.
- Leaderboard and Feedback
- Standing across the team, and a route for reps to say what is wrong with the system itself.
| Account | Deals | Value | Next action | Last touch |
|---|---|---|---|---|
| Halvorsen Group | 4 open | $182k | Renewal call booked Thu | 2d |
| Ardent Logistics | 2 open | $96k | Send revised quote | today |
| Pentland Civil | 1 open | $41k | Nothing scheduled | 19d |
| Brightwater Health | 3 open | $214k | POC review with vendor | 1d |
| Castellan Finance | 1 open | $57k | Waiting on their security team | 6d |
| Company | Source | Posted | Contact | Next step |
|---|---|---|---|---|
| Verity Manufacturing | Trade show | 3d ago | Direct line | Call today |
| Kestrel Shipping | Web form | 1d ago | Email only | Call today |
| Ormond Legal | Partner referral | 9d ago | Not on the lead | Not scheduled |
| Thornhill Retail | List import | 22d ago | Not on the lead | Never |
| Sable Energy | Web form | 14d ago | Not on the lead | Never |
What a manager gets
The manager dashboard is one page, not a set of tabs. That was a decision. A manager preparing for a one-to-one or a forecast call reads down a page, where tabs make them remember where things are and click to find out whether anything is wrong.
One page carrying twelve sections would normally be slow, so each section loads on its own and fills in as it arrives instead of holding up the rest. Four of them are expensive enough that the page does not query them at all until a manager opens one: tool adoption, follow-through, intent and training. Closed means not fetched, not hidden with CSS, which is the entire point.
- Scorecard
- One row per person, pulling the headline figure out of every section below it. The panel a one-to-one is run from.
- 100 Day Plans
- Whose plan is in, late, or missing.
- Pipeline
- Every open deal, grouped by how close to money it is: early, priced, proving, negotiating, committed.
- Targets
- Target against the period, per person and for the team.
- Closed as won
- What actually landed, so the forecast can be checked against it.
- Activity
- Calls, emails and meetings logged, shown as a trend rather than a single number.
- Daily discipline
- The habits behind the results: target lists worked, calls answered, the calls-to-won funnel.
- Academy
- Required courses, who is overdue, who is certified.
- Tool adoption
- Who is using the portal and which parts they never open.
- Follow-through
- Where someone said they would do something and the record does not show it happening.
- Intent
- Accounts showing buying signals, and what was done about each.
- Training
- Course delivery across the business, which is the one section not scoped by who owns the account.
Person and period are separate controls, on purpose. Managers do not only ask how the team did last quarter. They ask how one person did last quarter, how the team is doing this month, and how that compares to the month before. Tying the two axes together would have left questions nobody could reach.
| Person | Plan | Pipeline | Activity | Discipline | Won |
|---|---|---|---|---|---|
| Nadia R. | On track | On track | On track | Worth a look | $438k |
| Tom B. | On track | Worth a look | On track | On track | $310k |
| Priya S. | Worth a look | On track | Needs attention | On track | $286k |
| Daniel O. | Needs attention | Worth a look | Worth a look | Needs attention | $141k |
| Kate M. | No mark | On track | No mark | On track | $95k |
No mark means too early to judge or not measured, which is deliberately not the same as a bad mark.
Who can see what, and who can change it
A portal with everyone's numbers in it needs rules, and vague rules get worked around. Three things are true here:
- A rep sees their own accounts and their own numbers.
- A manager sees their roster and leadership sees everyone. Both are read-only views of someone else's work.
- Acting on a record, logging a call, moving a stage, editing a plan, is gated on it being your own record. Looking at someone else's book never turns into editing it by accident.
That scoping is resolved in one place rather than re-checked on every screen, which is what stops the twentieth screen from quietly getting it wrong.
Everything in one environment
The portal is not an island, and the point of it was never to add a seventh system. It reads and writes what the business already pays for: the Microsoft 365 mailbox and calendar, the Monday.com boards, the vendor portals the resale business runs on, and the enrichment sources that fill in the missing contact details on all those unreachable leads. Where a vendor had no usable API, the integration says so and asks a person to confirm rather than pretending it knows.
Partner work is the clearest case. Accreditations, POC requests and tender responses used to live in mailboxes and vendor sites, which meant nobody could see the full commitment to a partner in one view. Now a tender is assessed in the portal against the capability documents, and the answer cites the document it came from, so a no can be argued with.
Every line cites the document it came from, so a Gap can be argued with rather than just accepted.
Where it got to
Those are counts from the codebase, not performance claims. The portal did not arrive at that size in thirty days and we are not going to suggest it did. It started smaller, around the pipeline and the call list, and grew a phase at a time as the team used it and asked for the next thing. That is the normal shape of this work, and it is the shape we would propose for you.
What we would do differently
Two things. The adoption panel, the one that shows which parts of the portal nobody opens, should have been built first rather than later. It is the panel that tells you which of your own features were a waste, and having it earlier would have saved building at least one of them.
The second is scope discipline on the manager side. Managers ask good questions, and every good question looks like one more panel. Some of those answers belonged inside an existing panel rather than next to it.
Want the same thing pointed at your sales cycle?
Start with the Build Plan. A short set of questions, no call, and it ends with a fixed scope, a fixed price and a ship date.