We built our own. A full operations platform managing leads, projects, partners, and commissions, built on the same graph architecture we deploy for clients. Not adapted from a SaaS tool, not a reskinned template, not a spreadsheet and a shared inbox. A purpose-built system for how ESRE Media actually works. The same discipline we bring to client builds, applied to ourselves.
ESRE Media is growing. The pipeline of client work is expanding. The partner network (accountants, coaches, IT firms, and consultants who introduce clients) is growing too. Managing that with email threads and spreadsheets works up to a point. That point arrived.
We needed a system where every lead introduced by a partner is tracked from first contact to project completion. Where commission calculations happen automatically when a payment is marked paid. Where partners can log in, see the status of their introductions, and understand exactly what they've earned and when. Where clients can track their own project milestones. Where we run the whole operation from one connected place.
Existing CRM platforms do parts of this. None of them handle the specific combination of partner attribution, tiered commission structures, automatic secondary commission chains, and the concept-driven architecture that means field definitions evolve without code changes. So we built it.
The platform serves three distinct audiences, each with their own view of the same underlying data:
Full pipeline visibility. Lead funnel, active projects, outstanding invoices, commission liability, partner network breakdown, and the financial dashboard. Everything from first contact to final payment in one view.
Self-service for partners. Submit leads, track their progression, view agreements, monitor commissions earned and pending. The portal handles onboarding (individual or organisation) and agreement acceptance automatically.
Project transparency for clients. Active project status, milestone progress, payment schedule, and document access. Invited via a claim code when a lead converts to a project, no manual account setup.
Partners register through the platform. After approval, they access their portal and begin submitting leads: a simple form capturing the company name, contact, sector, and any relevant notes. The lead enters the pipeline under that partner's attribution and stays linked to them through every stage: contacted, scoping, qualified, won or lost.
When a lead converts to a client, a client organisation is created automatically and the partner attribution is preserved in the data. An invite is sent to the client's primary contact, who claims their account and lands in the client portal with their project already configured.
When a payment is marked as paid, commission records are created automatically for every eligible partner. The rate used is locked at the moment of payment, so changes to a partner's agreement rate do not retroactively affect already-earned commissions. Disputed records, paid records, and pending records are all tracked with full history.
The commission model supports two tiers. A primary commission goes to the partner who introduced the client. A secondary commission (10% of what the referral partner earns) goes to the sales partner who recruited that referral partner into the network. This chain is automatic. No manual calculation. No spreadsheet to maintain.
Partners can download commission statements directly from their portal. The system generates them from live data. Admin can produce and send statements for any partner over any period with one action.
If you become a partner, whether introducing clients or building on our architecture, you work through this exact system. It tracks your leads, your commissions, and your agreement automatically. Referral partners earn 15% on project delivery. Sales partners earn 20% and build their own network.
Explore partnership optionsThe platform does something conventional CRM tools cannot: every entity type (leads, payments, commissions, agreements, statements) is defined in the graph as a concept template rather than as hardcoded field definitions in the application. When a new field is needed, the template is updated in the data. The application picks it up at runtime. No schema migration. No code deploy. No admin panel for field configuration.
The three generic components (EntityView, EntityForm, EntityList) render any entity type from its concept template. The application does not know what a "Lead" looks like at compile time. It queries the graph and renders whatever the template describes. This is what allows the architecture to evolve without rebuilding. It is the same pattern deployed for every client system we build.
The platform is open to referral partners and sales partners who want to bring the benefit of future-proof systems to organisations in their networks. Referral partners earn 15% on project delivery. Sales partners earn 20% and build their own network. Registrations are reviewed and approved.
React 18 · TypeScript 5.6 · Vite 6 · React Router 6 · Express 4 · engage.re Graph API · Docker · Caddy