CASE STUDY 12 / 16CUSTOM CRMPRODUCT LEADERSHIPARCHITECTURETEAM LEADERSHIP

Bespoke Events CRM.

A custom CRM running the exhibitor side of 60–80 international education fairs a year: stand, hotel and travel bookings, compliance documents, printing, shipping and online payments.

MY PART
Directed product and architecture; specified it and ran the build team.
ORGANISATION
BMI Global Ed, part of Times Higher Education
FEATURES
Bookings · compliance documents · printing and shipping · online payments
AUTOMATED
Shipment tracking · payment confirmation · booking limits
FIG.01 · ILLUSTRATIVE INTERFACE, NOT A SCREENSHOT
4 monthsFrom first commit to production go-live
60–80International fairs a year run through it
18Countries the fairs run in
25–100Institutions exhibiting at each fair
01WHAT IT DOES

One system for the whole exhibitor lifecycle

Every workflow an exhibiting institution goes through before and during a fair sits in one governed system, instead of each becoming its own piece of internal tooling.

Exhibitor accounts

Onboards exhibiting institutions and the staff they send into accounts, each person seeing only what they need.

Stand, hotel and travel booking

Books exhibition stands, hotel rooms and travel for exhibitors, fair by fair, with every booking's status visible to staff.

Compliance documents

Collects and tracks the documents each exhibitor has to supply before they can take part in a fair.

Printing, shipping and advertising

Handles exhibitors' printing and shipping orders and their advertising in the fair catalogue, and tracks every shipment automatically from the carrier's own updates.

Online payments

Takes card payments through a secure hosted checkout, each one confirmed automatically before a booking is marked paid.

Operations grids

Gives fair-operations staff data grids for working across exhibitors, bookings and fairs at once.

02HOW IT WORKS

One application, from booking to production

A modular Next.js application serves fair staff and exhibiting institutions over the organisation's central API platform. The payment provider confirms payments, the carrier reports shipment progress, and every change reaches production through a gated pipeline.

FIG.02 · ARCHITECTURE AND RELEASE PATH, SIMPLIFIED
03WHAT CHANGED

Why it was rebuilt

The old exhibitor system was built by an outsourced supplier, and staff worked around it every day. The rebuild went live to exhibitors four months after its first commit, came through two major release surges with no production instability, and now feeds exhibitor details to the public fair sites automatically.

OLD SYSTEM
INSTITUTIONS
Duplicate records, told apart by hand
CANCELLING A BOOKING
Deleted in two places, or the exhibitor kept getting emails
REPRESENTATIVE LIMITS
Tied to stand size, but never enforced
REBUILD
INSTITUTIONS
One record each
CANCELLING A BOOKING
Cancelled cleanly in one place
REPRESENTATIVE LIMITS
Enforced automatically
04MY ROLE

What I led

I managed the remote team that built it, up to five people, day to day: daily stand-ups, task assignment, written specifications and wireframes. The decisions listed here were mine.

  • Led the rebuild of the exhibitor-management platform, replacing an outdated system and going live in four months.
  • Specified a checkout design in which the payment provider, not the browser, confirms every payment, so payment integrity is guaranteed by design.
  • Defined a two-layer authorisation design, with route checks and page permissions checked live on every protected page load, and no allow-on-failure branch at either layer.
  • Shaped a feature-based modular architecture, held in place by a CI-blocking architecture validator as the codebase grew.
  • Instituted an automated code-standards and security gate that blocks non-conformant pull requests into staging.
  • Established a three-tier release pipeline that promotes QA-approved changes from staging through pre-production to production, and championed adoption of AI agents that automate it up to QA-gated production cherry-picks.
  • Introduced environment-gated, full-stack observability.
05TECH STACK

Tech stack

[a] APPLICATION
Next.js 15React 18TypeScriptTailwind CSS
[b] STATE, FORMS & DATA
ZustandReact Hook FormZodAG Grid
[c] PAYMENTS & SERVICES
AdyenCentral API platformSentry
[d] DELIVERY
GitHub ActionsAWS CodeBuildAWS CodeDeployRenovateGitHub Copilot agents

Say hello.

LINKEDINlinkedin.com/in/danielgorgonia

Hidden from bots until you click.

LOCATIONLondon, United Kingdom
LOCAL TIME--:--