Back to Projects

Case study

Manchester United Hospitality

The official Manchester United hospitality storefront, built by Elevate as the club's first Official Hospitality Partner. As a software engineer on the launch, I worked on go-live release engineering and the payments and catalogue APIs behind checkout.

Visit hospitality.manutd.com

Overview

hospitality.manutd.com sells official matchday hospitality at Old Trafford across the Premier League, the UEFA Champions League, and the Carabao Cup. The site first ran as a prelaunch holding page on its production domain, then switched to the full server-rendered store on launch day. My work centred on making that switch safe and keeping checkout and the event catalogue reliable through launch.

My Contributions

  • Ran the go-live cutover on the production domain: the prelaunch page sat behind a CloudFront Function gate, and the switch to the full store used CloudFront cache invalidation instead of a separate URL.
  • Hardened the payments API's cross-origin policy, replacing a wildcard with per-environment allowlists defined in AWS CDK, so checkout worked from the live domain and could be tested safely in staging.
  • Shaped the public API caching strategy so the storefront serves one consistent event catalogue across every competition.
  • Built multi-competition reporting so the club's operations team can manage inventory for the Premier League, Champions League, and Carabao Cup.
  • Fixed CI/CD environment dispatch and promoted releases from dev to staging to production, and added consent management to the prelaunch page.
  • Supported launch day by investigating checkout errors and analysing production logs.

The Platform Behind It

The storefront runs on Elevate's Experiences Platform, which I helped build from the ground up: a multi-tenant system designed to serve several clients from one codebase. It spans sandbox, dev, staging, and production environments defined in AWS CDK, Python and FastAPI services on Lambda, a React and TypeScript operations app, and tenant isolation enforced in the identity layer, the API, and the UI. Delivery is spec-first, with ADRs and implementation specs, and every change passes automated quality gates and browser regression tests before it is promoted.

Storefront architectureVisitors reach CloudFront, where a CloudFront Function gated the prelaunch page. CloudFront serves the server-rendered TanStack Start storefront, which calls a cached public API and a payments API on Amazon API Gateway. Both APIs run FastAPI on AWS Lambda backed by PostgreSQL. AWS CDK defines every environment.VisitorsbrowserCloudFrontprelaunch gate functionTanStack Startserver-rendered storePayments APIAPI Gateway, CORS allowlistPublic APIAPI Gateway, cached catalogueFastAPI on LambdaPostgreSQL
A simplified view of the storefront's path from the edge to the platform APIs. Every environment is defined in AWS CDK.

Tech Stack

  • TypeScript
  • TanStack Start
  • React
  • Python
  • FastAPI
  • AWS Lambda
  • Amazon API Gateway
  • Amazon CloudFront and CloudFront Functions
  • AWS CDK
  • PostgreSQL
  • GitHub Actions