PRODUCT INTEGRATION · SYSTEMS THINKING · E-COMMERCE UX ·2026
Espresso
Yourself
From designed interface to working product system.
A specialty coffee e-commerce product where I helped connect customer shopping flows, admin management, cart behaviour, product data and role-based access into one working end-to-end experience.
PRODUCT SYSTEMS
E-COMMERCE UX
ROLE-BASED EXPERIENCE
PRODUCT INTEGRATION

ROLE
Team Lead &
Customer/Admin Experience Contributor
TEAM
4-person
2 frontend · 2 backend
DURATION
4 weeks
TYPE
Full-stack e-commerce web app
OUTCOME
Working customer/admin e-commerce experience with browsing, cart, checkout, membership and protected store management flows.
QUICK OVERVIEW
THE PROBLEM
The product needed to behave like a working e-commerce system, not a set of static screens.
THE SHIFT
From separate interface pages to one connected product experience across customer shopping, admin management, cart behaviour and role-based access.
MY ROLE
Led product integration across customer/admin flows, backend logic, cart behaviour and final implementation so the experience worked end-to-end.
TECH STACK
React · Vite · Node · Express · MongoDB · Mongoose · JWT · bcryptjs · Axios
THE REAL PROBLEM
The challenge was not just designing screens. It was making the product work end-to-end.
Espresso Yourself needed to behave like a real e-commerce product, not a set of static pages. Customers needed to browse products, compare options, add items to cart, check out and see membership progress. Admins needed a separate protected experience to manage products, review carts and monitor store activity.
The core challenge was making the customer and admin journeys feel connected and reliable, with product data, cart behaviour, account access and store management working together behind the scenes.
REFRAME
The brief was reframed from a list of required features into a connected product system where customer shopping, admin management and shared product data worked together.
FROM BRIEF TO PRODUCT
From brief requirements to product capabilities.
BRIEF REQUIREMENT
Account access
Product catalogue
Cart management
Checkout flow
Membership points
Admin management
Role-based access
PRODUCT CAPABILITY
Customers could return to their shopping progress while admins accessed store tools through a separate protected flow.
Products could be browsed, searched, filtered and sorted dynamically.
Customers could add, update and review items without losing continuity between browsing and checkout.
Customers could complete a simulated purchase and receive confirmation.
Checkout total was translated into points and progress feedback.
Admins could add, edit and delete products without touching the database.
Customers and admins were guided into the right experience based on their role.
Product Discovery
Search, filter and sort helped customers move through the catalogue faster.
Checkout Continuity
Cart state stayed consistent from browsing to checkout.
Retention Loop
Membership points created post-purchase feedback.
Store Operations
Admin tools supported product management without database access.
PRODUCT EXPERIENCE MAP
Mapping the customer and admin experience as one product system.
This simplified system view shows how user actions, product data, cart behaviour and permissions connected behind the interface.
CUSTOMER EXPERIENCE
01
Register / Login
02
Browse product catalogue
03
Search / filter / sort
04
View product detail
05
Add item to cart
06
Review cart
07
Checkout confirmation
08
Membership progress updated
ONE PRODUCT SYSTEM, TWO ROLE-BASED EXPERIENCES
Authentication
Product data
Cart state
User role
Membership points
API routes
MongoDB database
ADMIN EXPERIENCE
01
Admin login
02
Protected dashboard
03
View store statistics
04
Review customer carts
05
Add product
06
Edit product
07
Delete product
08
Return to storefront
SIDE NOTE
The customer and admin journeys shared the same product system, but each role saw the tools and actions relevant to them.
KEY UX / UI DECISIONS
Designing the shopping experience around product discovery, confidence and continuity.

PRODUCT DISCOVERY
Search/filter/sort
Cart always visible
Consistent card hierarchy
The catalogue used clear product cards, visible browsing controls and persistent cart access to support faster product discovery without forcing customers into a linear path.

PURCHASE CONFIDENCE
Info supports confidence
Cart updates across pages
Quantity handled before checkout
Product detail and cart sidebar showing how product information, quantity controls and cart feedback stayed visible before checkout. Add-to-cart connected directly to the customer’s cart, so shopping progress stayed visible across product detail, cart review and checkout.

CART CONSISTENCY
Cart stays consistent
Order confirmation shown
Checkout confirmation showing the completed purchase loop, order summary and post-checkout feedback.
DESIGN INTENT
The customer experience was designed to reduce uncertainty between browsing and checkout by keeping product data, cart state and reward feedback visible across the journey.
CONTENT CLARITY
I used direct, task-based labels such as Add Product, Edit, Delete, Continue Shopping and Checkout so customer and admin actions were clear at the point of decision.
STATIC FIGMA TO WORKING PRODUCT
From static Figma screens to working product behaviour.
STATIC DESIGN
Product card layout
Cart icon and sidebar
Login screen
Admin dashboard mockup
Membership screen
IMPLEMENTED BEHVIOUR
Product information updated from a shared catalogue instead of fixed screen content.
Adding to cart updated the same shopping progress across product pages, cart review and checkout.
Login kept users in the correct customer or admin experience.
Admin tools reflected live product and cart information.
Membership progress updated after checkout based on the customer's order.
PRODUCT VALUE
Catalogue could scale without hardcoded screens.
Customers received consistent feedback.
Customers and admins entered the correct experience.
Admins could manage the store safely.
Created a post-purchase reward loop.
Implemented screens showing how designed interface states became working product behaviour.

Product Card

Cart Sidebar

Login Page

Admin Dashboard

Membership Page
KEY SHIFT
Moving from designed interface states to implemented behaviours that responded to real product data, user roles and cart actions.
HOW THE PRODUCT SYSTEM WORKS
The system that made the interface work.
This simplified system view shows how customer and admin actions connected to shared product data, cart behaviour and access rules behind the interface.
LAYERS
01
Interface Layer
Customer and admin screens: login, shop, cart, profile and dashboard.
User actions became data-backed interactions, not static screen changes.
02
Interaction + data layer
Connects actions like login, add-to-cart, checkout and product edits to product, cart and account data.
Cart, product and account behaviour stayed consistent across pages.
03
Product behaviour layer
Handles login sessions, cart updates, product CRUD and checkout confirmation behaviour.
04
Access layer
Checks whether users can access customer or admin actions.
Admin controls were protected from customer access.
05
Shared product data
Stores users, products, carts and membership-related information.
CORE DATA MODEL
User
Determines account access, role and membership experience.
_id · role · name · email · passwordHash
Cart
Powers product browsing and admin catalogue management.
_id · userId · items[]
Cart Item
Stores selected items for each customer.
productId · quantity · variant · price
Product
Tracks product, quantity, variant and price.
_id · name · price · stock · roaster · origin · tastingNotes · profile · variant · image
Admin Permissions
Protects store management tools from customer access.
TECHNICAL / PRODUCT DECISIONS
How technical choices shaped the
product experience.
Each technical decision was evaluated by how it affected persistence, access, consistency and control.
01
Role-based access
Customer and admin experiences were separated so each user entered the right flow, supported by JWT authentication, protected routes and permission checks.
PRODUCT IMPACT
Customers could shop safely while admins accessed store controls without exposing them publicly.
02
Cart continuity across the journey
Cart actions were carried across product detail, cart review and checkout so customers saw the same shopping progress throughout the journey.
PRODUCT IMPACT
Customers received consistent feedback and were less likely to lose trust before checkout.
03
Shared product catalogue
Product information came from a shared catalogue, so product pages could update without being redesigned or hardcoded individually.
PRODUCT IMPACT
The catalogue could scale and be managed through admin tools.
04
Admin product management
Admins could add, edit and delete products through a protected interface.
PRODUCT IMPACT
Store management became part of the product experience, not a manual database task.
PRODUCT RISKS STABILISED BEFORE DELIVERY
Cart Sync Issue
Cart sidebar and cart page showed inconsistent items.
FIX Connected both views to the same cart experience.
Admin Access Risk
Admin routes risked being reachable from the customer flow.
FIX Added route checks and admin permission controls.
Dynamic Data Issue
Product pages broke when data changed.
FIX Connected product pages to shared product data.
Session Issue
Login state reset after refresh.
FIX Kept users signed into the correct customer or admin experience.
MY CONTRIBUTION
What I led, built and connected.
I connected the customer flow, admin flow and cart behaviour into one working product experience.

TEAM COORDINATION
Frontend/backend checkpoints

PRODUCT LOGIC
Auth · products · cart · data models

PRODUCT INTEGRATION
Customer & admin flows connected

TESTING & STABILISATION
QA · routing cart sync
SCREENS I CONNECTED INTO THE PRODUCT EXPERIENCE
ADMIN DASHBOARD
Store activity, customer carts and order review.

PRODUCT MANAGEMENT
Edit catalogue details through the interface.

CART CONTINUITY
Shared cart state before checkout.

FINAL OUTCOME
Good digital products are not just well-designed interfaces.
FINAL OUTCOME
A locally running e-commerce product system where customer shopping, admin operations, authentication, cart logic, product data and membership behaviour worked together as one connected experience.
REFLECTION
What I took from shipping a product.
REFLECTION
01
This project showed me that good UX is shaped by more than the interface. Data, state, permissions and routing all affect whether an experience feels reliable.
02
I stopped thinking about screens as separate pages and started seeing the product as a connected system of users, roles, actions and feedback.
03
Shipping the product taught me that delivery is also design work. The experience only felt complete when the customer flow, admin flow and cart behaviour worked together.
WHAT I TOOK FROM IT
Design and technical decisions are connected.
The interface only works when the data, state and permissions behind it are considered.
Integration is where products often break.
Connecting flows taught me to think across the full journey, not just individual screens.
Role-based systems need to be planned early.
Customer and admin experiences should be considered from the structure up, not added at the end.
NEXT ITERATION
Where I would take it next.
Clearer States
Add clearer empty, loading and error states for login, cart and product search.
More Realistic Checkout
Expand checkout with shipping and payment steps.
Usability Testing
Test customer and admin flows with users to validate usability.
Shipping Espresso Yourself taught me to design beyond screens by considering the behaviours, systems and connections that make a product feel complete.