The problem
The storefront, the mobile app and the checkout flow had drifted into three separate implementations of the same business rules.
The approach
- Rebuilt storefront and app on a shared Next.js and React Native core.
- Consolidated payment gateway integrations behind one service.
- Moved auth onto Clerk with OAuth 2.0 across every surface.
- Held product and cart state in React Query with optimistic updates.
The outcome
Business rules live in one place, so a pricing change ships to web and mobile at the same time.