N
All work

Lead Full-Stack Engineer · 2024 · 8 months

Cutting a US sports platform's checkout time by 83%

LaravelVue.jsReactMySQLRedis

Playbook365 was bleeding transactions to a 30-second, error-prone checkout spanning six purchase types. Leading a 10-engineer team, I re-engineered the flow end to end and landed it at 5 seconds with zero critical errors.

83%Faster checkout
30s → 5sLoad time
1,000+Monthly transactions

Context

Playbook365 is a sports event platform used across US sport categories — teams register, buy memberships, pay for matches, and purchase merchandise through a single checkout. That checkout had grown into six distinct purchase types layered on top of one another over years of feature work.

By the time I joined as lead, a single checkout took roughly 30 seconds to load and routinely threw transaction errors. Every failed payment was lost revenue and a support ticket.

Constraints

  • No downtime. The platform processed live transactions daily; the fix had to ship incrementally behind the running system.
  • Six purchase types, each with its own tax, discount, and fulfillment rules that could not regress.
  • A 10-engineer team shipping other features in parallel — the refactor had to be reviewable in small, safe increments.

Approach

I treated the checkout as one system rather than six special cases.

  • Collapsed the six flows into a single pricing pipeline. Each purchase type became a strategy feeding a shared engine, so tax and discount logic lived in exactly one place.
  • Moved synchronous third-party calls off the critical path. Payment-provider and event-data lookups that blocked render were cached in Redis and hydrated asynchronously.
  • Rewrote the client in Vue with optimistic UI, so the cart responded instantly while confirmation settled in the background.
  • Standardized integrations (payments, auth, event data) into reusable API patterns the whole team could reuse — cutting future integration time.

Architecture

Vue clientPricingengineRedis cachePayments

Results

  • Checkout load dropped from 30s to 5s — an 83% improvement.
  • Critical transaction errors eliminated across 1,000+ monthly transactions.
  • Integration time fell for every subsequent third-party service the team added.

What I'd do differently

I would have invested in load-testing harnesses earlier. We validated correctness per purchase type well, but the performance wins were confirmed largely in staging and production monitoring — a synthetic load rig would have caught two edge-case regressions before they reached real users.