Client case study
Conference Platform
A conference platform in use for 20+ years, rebuilt in flight
Built for a large international organisation. We respect our clients' privacy, so the organisation is not named.
A conference platform in use for over 20 years, taken from an unsupported runtime and an obsolete front-end framework to a current, typed, modern stack, with extensive tests and no downtime.
Background
The platform is the working floor of the client's conferences. Delegations use it to follow live agendas, register as speakers, read and download documents in several languages, watch multi-lingual live streams and recorded videos, and discuss items between sessions. It is designed for heavy concurrent use while a conference is running, but also serves as an archive with about 30 years of historical records.
The last full rewrite was well over a decade ago, and by the time we took it on, the runtime and front-end framework from that rewrite were years out of support. Security patches could not be applied, engineers who knew the stack were hard to find, and every new feature request carried the risk of breaking something nobody fully understood.
The challenge
A rewrite from scratch was ruled out. The client could not afford a long freeze on new features, a big-bang cutover, or the risk that a replacement would quietly lose behaviour that delegations relied on. The system had to keep running, keep changing, and end up on a modern foundation.
What we did
We migrated the system in slices. Each slice moved one area of functionality onto the new stack, ran alongside the old code until it was verified, and then replaced it. The old and new implementations shared the same database and sessions, so users never saw a seam.
- Moved the runtime from an unsupported version to the current LTS release and the codebase to a strictly typed language.
- Replaced the obsolete front-end framework with a modern one and server-side rendering, with a redesigned, responsive interface.
- Introduced a typed GraphQL API with real-time subscriptions for live meetings and notifications.
- Modernised the database schema types and added normalised relations
- Upgraded the security model adding Row Level Security to the PostgreSQL database
- Replaced a native search library with a multilingual search engine covering all six conference languages.
- Ran the legacy single sign-on and a new OpenID Connect identity provider side by side during the transition.
- Built an extensive unit and end-to-end test suite where there had been almost none, ensuring continuity of behaviour for the upgraded system.
- Moved hosting from hand-managed virtual machines to Kubernetes with GitOps deployments.
How AI-assisted delivery helped
A migration like this is mostly careful, repetitive work: reading old code, writing its modern equivalent, and proving the two behave the same. AI tooling let a small team do that at a pace that would not otherwise have been possible.
- Role-specific AI agents for development, database work, QA, security review and technical writing, each with the project's conventions built in.
- A comprehensive test suite built up as each area was migrated, so regressions were caught during the migration rather than after.
- A monthly OWASP-based security audit of the whole codebase and its dependencies, with each finding verified in the code and tracked as new, resolved or still open, plus a go or no-go security gate before every release.
- Documentation kept current as the architecture changed, so the client's own team can operate the system without us.
Outcome
The platform runs on current, supported technology with a test suite that lets it change safely. It gained real-time collaboration features, faster multilingual search and a modern interface along the way. Not one conference was interrupted to get there.
Have something similar?
A free, no-pressure discovery call. Bring the problem, we'll bring honest advice on scope, timeline and risk.