Case Study - Bookteq: Zero-To-One B2B Booking Platform (Playfinder)
Role: Senior Frontend Engineer → Frontend Lead (stepped up after the head of frontend departed) - team leadership, hiring, architecture, and the initial build.
Stack: Angular 6 / TypeScript, SSR, Storybook
Verifiable: bookteq.com - live and operating today.
Context
MyLocalPitch was the UK's search and booking marketplace for recreational sports. I joined as a senior frontend developer during its rebrand to Playfinder, working on the Angular/TypeScript SSR platform, back in 2019. The rebrand was straightforward - the interesting part came after.
The company saw a gap on the other side of its own marketplace: most UK sports facilities were independent, and the majority had no online booking at all - the software available to them was too expensive or too complicated. Out of that came Bookteq: a B2B SaaS product letting venue operators manage bookings, payments, and facilities, integrated with the Playfinder marketplace for demand.
My role
When the head of frontend left, I was the most experienced engineer on the team and stepped up to lead it - running hiring, leading the frontend team day to day, and owning the architectural decisions for the new product.
What I built and the decisions behind it
Scaffolding Bookteq from zero. I architected and scaffolded the entire Bookteq frontend as a modern Angular application (V6, the latest at the time) - project structure, conventions, and foundations that the team then built on. That was things like calendar view, venue management, fully responsive on all sorts of screens, from mobile to large desktop.
Rejecting native Web Components. The tempting "future-proof" option was to build shared UI as a native Web Component. I assessed them and decided against it: their integration story with Angular based apps was poor at the time, and the theoretical portability wasn't worth the daily friction. Main issue was our heavy use of NgRx for state management which didn't play nicely with separate Web Components.
Component library on Storybook. I moved the component library to Storybook, giving the team an isolated environment to develop, document, and review UI components which were shared between Playfinder website and Bookteq.
Outcome
Bookteq shipped and stuck. Today, years later, it still operates as Playfinder's B2B product line with hundreds of partner venues across the UK and Ireland, and has expanded beyond sports facilities into halls, meeting rooms, and community spaces for schools, councils, and clubs. The V1 foundations I architected became a product that outgrew its original niche.
What I'd do differently
I think heavy use of NgRx was not the best decision, as it slowed down development by requiring a lot of boilerplate to be written and tested.