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.
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.
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.
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.
- 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
- INSTITUTIONS
- One record each
- CANCELLING A BOOKING
- Cancelled cleanly in one place
- REPRESENTATIVE LIMITS
- Enforced automatically
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.
Tech stack
Say hello.
Message sent.
Thanks for getting in touch.