Conference Expo handles every awkward part of running a trade show: signing sponsors, configuring their stand packages, taking payment, reviewing the artwork they submit, messaging them when something needs sorting, and keeping an audit trail of who did what.
The original platform launched in 2017, and we’ve built and looked after it ever since. By 2024 it had grown beyond what the original stack could comfortably stretch to: sponsor self-service, real-time messaging, audit trails on every entity. So in 2025 we kicked off version two, a ground-up rebuild with the next decade of features in mind.
V2 started on NestJS, a Node.js framework that suits some projects but didn’t suit the list of features we’d planned: OAuth, audit logs, payment processing, document generation, websockets and search. Each one would have been a struggle. A few weeks in, we made the call to swap the backend out for Laravel. Same Nuxt frontend, same monorepo, new foundation underneath. The rewrite cost a few weeks up front and has saved time on every feature since: real-time messaging with Laravel Reverb, OAuth2 with Passport, audit history, chunked file uploads, PDF generation and Meilisearch.
The Laravel API publishes an OpenAPI spec automatically (via Scramble), and the Nuxt frontend generates its TypeScript client from that spec (via Orval). If the frontend and the backend disagree about the API, the build fails.
V2 is live, in active development, and runs conferences with hundreds of sponsors end-to-end.