
Nike Store App
Ecommerce storefront with server-rendered product pages for SEO, client-side cart and auth, and Stripe checkout sessions created on the server.
01 // Overview
E-Commerce Store
A full-featured online store with modern UX.
Next.js SSR
Server-side rendering for fast load times.
Stripe Integration
Secure checkout and payment handling.
Authentication
User accounts and order management.
Engineering
The Decisions Behind It.
What made this hard?
In an ecommerce storefront, SEO, speed, and a personalized cart pull against each other: static is fast but not personal, dynamic is personal but slow.
How was the system structured?
Product pages are server rendered for SEO and first load, while cart and auth live in client-side state. That split is a deliberate boundary: the catalog stays cacheable, and user-specific data is never cached.
What does the codebase look like now?
Stripe integration runs on server-side session creation, so amounts cannot be manipulated from the client. CMS content types are documented so the merchandising team can work independently.