Umbra Penance

Client project · name kept confidential

A learner platform and internal CRM, shaped around the business.

Custom learner platform, trainer interface and internal CRM workspaces for an online training organisation, integrated with its operational database and telephony.

Sector
Education & training
Engagement
Custom software
  • 20 minutes with the engineers who built it
  • No obligation

In brief

The brief, the hard part and where it landed.

The brief
Off-the-shelf course platforms couldn't express the organisation's rules: progress-based unlocks, equipment rewards, cohort start dates, project validation by trainers and several membership types.
The hard part
The sales and admin teams also worked directly in a large shared database, with no role-specific views and no clear picture of call performance.
Outcome
Learners, trainers and staff each get an interface shaped around their job, instead of working around a generic tool. Sales leadership can see response speed and dropped leads per salesperson, from data captured automatically.

The build

What we designed and built.

We built custom software on top of the organisation's existing WordPress and Airtable foundations:

  • A learner application and API: course progress, milestone-based unlocks, project submission and validation by trainers, synced to Airtable through an asynchronous queue that respects API rate limits.

  • A trainer interface for reviewing projects, sessions and learner information.

  • Internal CRM workspaces with role-based access: prospects, appointments, daily actions and a performance view showing call speed and lead follow-up per salesperson, fed by the telephony provider's webhooks.

  • Automated tests on the business logic (over 200 assertions on the performance module alone).

Security, designed in

  • Access gated by role and membership; internal workspaces restricted to staff.
  • Read-only by default against the operational database, with writes going through controlled endpoints.
  • API keys kept server-side and cached reads to stay within provider limits.

What it looks like in practice.

The real workflow structure, and what customers and staff see. Names and figures in the examples are illustrative.

Sales performance

This month
Median first response11 min
Leads waiting > 24 h2
Calls this month115
Meetings booked41
SalespersonFirst responseLeads called within 1 hCalls
Emma R.4 min92%38
Liam K.9 min78%31
Priya S.17 min61%27
Owen T.42 min34%19
Example: an internal sales view built on call and CRM data captured automatically. Figures are illustrative.

Technology used

WordPress (custom plugins)PHPJavaScriptREST APIsAirtabletelephony API

Building something similar?

A 20-minute call with the engineers who would build it.

Describe your project
  • Pick a time in the next step
  • Free, no obligation
  • 20 minutes on Google Meet