A custom affiliate CRM in 10 weeks
Key results
- 10 weeks to build, 1 week to roll out
- 3 user roles
- 1 system in place of spreadsheets and WhatsApp
The challenge
Edu4u recruits students for UK universities through a network of field agents. Before this build, the agent operation ran on spreadsheets and WhatsApp groups, the combination that kills most attempts to scale.
- Commissions were calculated by hand in Excel, with no audit trail and no version history. The record was whatever was in the sheet that month.
- Sales materials, PDFs, graphics and links all went out through WhatsApp. Links expired, files got buried in chats, and agents kept asking the same questions.
- There was no structured way to tell agents that a commission had been paid. Every payout set off a round of individual WhatsApp messages.
- Agents couldn't see their own pipeline: no earnings view, no rank, no sense of how close they were to the next tier.
- As a result, agents lost motivation, recruiting slowed and the network stopped growing.
Why off-the-shelf wouldn't work
Edu4u had already looked at the usual options: HubSpot, Pipedrive and generic affiliate platforms. None of them fit, because the business logic was too specific:
- Partner referral tree. Agents earn commission on their own students and on students brought in by agents they invited. Off-the-shelf CRMs don't model multi-level referrals.
- Tier engine. Commission rates depend on an agent's current tier, which changes with performance. A tier change must affect future earnings without rewriting past ones.
- 2-tranche payouts. Commissions are paid in two stages, tied to milestones in the student's lifecycle. No affiliate SaaS handles this out of the box.
- Commission snapshotting. Once a commission is locked in, later rule changes must not rewrite what agents are owed. Every payout needs an immutable record.
- Three role-based interfaces with real separation. Agents need a mobile app for the field, consultants need a desktop dashboard for their region, and admins need full control. Each role sees a different product.
Stitching this together in Zapier would have been fragile to run and impossible to audit, so we built it from scratch.
What we built
The app serves three separate interfaces from one backend: a mobile-first app for agents, a desktop dashboard for consultants and a full admin panel. Across them, ~25 routes cover every flow from student intake to commission payout.

Consultant overview (desktop) and agent app (phone): one backend, two very different products. The screenshots show demo data.
Motivation built in: quests, leaderboard, resource hub
Agents need three things to keep recruiting: a clear goal, a view of where they stand against their peers and easy access to the materials they sell with. The app puts all three in one place:
- Quests: time-boxed goals tied to concrete outcomes ("recruit 3 students this week") instead of vague pep talks.
- Live leaderboard: every agent sees their rank among peers. Social pressure replaces the silent spreadsheet.
- Resource hub: one place for PDFs, graphics, sales scripts and onboarding materials, instead of links lost in WhatsApp chats.
Commission engine with snapshotting
Every commission is calculated against the tier rules in force when it's earned. If Edu4u later changes the rate structure, past commissions stay locked to the rules that applied when they were generated. That protects both sides: agents know exactly what they were promised, and Edu4u can change the rules without rewriting history. Payouts happen in two tranches tied to milestones in the student's lifecycle.
Partner referral tree
The network grows through invitations: any agent can invite others and earns a share of the commission on every student those agents bring in. The app shows the whole tree, so agents can see their own network and admins can spot where it's growing and where it's stuck. Each personalized invite link records the referral straight in the tree.
Admin panel
One admin view replaces the spreadsheet-and-WhatsApp mess: network metrics, per-agent performance, commission approvals, quest configuration, payout history and audit logs. Admins see the whole system, consultants see their region and agents see only their own data. Role boundaries are strict, and no data leaks between roles.
Under the hood
For technical readers: Next.js 15 and React 19; Supabase as the full-stack data and auth layer, with row-level security tuned per role; a typed database layer; migrations under version control; rate limiting and CSP at the perimeter; everything containerized and running on a Hetzner host. The three role-based interfaces share one data model, and the commission logic sits behind a pure, tested tier engine with immutable payout snapshots.
Rollout
We built the app in 10 weeks and rolled it out to the Edu4u agent network in a week. Agents, consultants and admins now work in one system instead of spreadsheets and WhatsApp groups. The partner commission engine applies each agent's tier rates, materials sit in the resource hub, and every payout has an immutable record.
Have a process that doesn't fit any off-the-shelf tool?
We build custom apps around a specific business model, not another generic CRM.
Solutions
Web and mobile apps
Custom web apps, mobile apps and internal systems, such as a CRM or an admin panel, built on Next.js, React and React Native.
Which process costs you the most?
Thirty minutes, free. You leave with a concrete fix plan and what the process costs you. The plan is yours, even if you build it without us.
Book a free audit