Treat the customer journey as one system
The interface follows the core shopping path: discover products, manage a cart, authenticate when needed, and complete checkout without losing context.
Case study / Live
A full-stack storefront spanning product discovery, cart, checkout, auth, and admin workflows.

The brief
A complete storefront designed to connect the customer journey with the operational work behind it—from browsing and cart management to protected administrative tasks.
The challenge
The work needed to feel like one coherent product while handling product discovery, session state, payment, authentication, and administration.
What shaped the build
The interface follows the core shopping path: discover products, manage a cart, authenticate when needed, and complete checkout without losing context.
A React and TypeScript frontend is paired with an Express and Node.js API, while MongoDB handles persistence. That separation keeps the interface, business logic, and data concerns easier to evolve.
JWT authentication, protected admin routes, request validation, Stripe checkout, and core-path tests support the safeguards expected of a transactional application.
The outcome
The result is a deployed full-stack application that goes beyond a polished storefront: it accounts for the API, database, payments, administration, and the details that make the flow dependable.
Selected work