Context
The commerce platform had served the business well through its early growth, but it had accumulated constraints that were showing up as product velocity problems. Shipping a new funnel experiment required too many engineering coordination cycles. Adding a market meant forking behavior that should have been shared. The stack wasn't broken — it was just the wrong shape for where the business needed to go.
The move to headless was as much an organizational decision as a technical one.
Problem
- The monolithic stack slowed down experimentation — too many layers to touch for too small an outcome.
- The frontend team of 8 was capable, but lacked a clear technical direction or ownership model for the platform.
- Four markets meant four sets of edge cases that needed a shared foundation, not four separate solutions.
- Career progression for engineers was undefined. People were executing well but not growing into leadership.
Approach
As Senior Engineering Manager, I held both the technical strategy and the team. The architecture decisions and the people decisions happened in parallel — not in sequence — because the team executing the migration was also the team that would own it afterward.
Defined the technical architecture, drove the CommerceTools and Next.js choices, and structured a migration approach that let product work continue during the transition.
Decisions
- Next.js as the frontend layer — composable, testable, and familiar to the team already working in React.
- CommerceTools as the commerce engine — API-first, designed for multi-market, no storefront lock-in.
- API-first architecture throughout: no tight coupling to platform-specific behavior that would resurface as debt later.
- Build IC career paths alongside the migration — engineers who understood the new architecture became the Tech Leads who owned it.
Impact
- Headless commerce foundation live across four markets.
- Four engineers moved into Tech Lead roles during this period.
- Platform architecture that supports product experimentation and regional extension without per-market forking.