E-commerce · Full stack
SEOULAB
Build a complete skincare store: product discovery, customer accounts, reliable orders and an operational back office.
Full-Stack E-commerce / SEOULAB
The decisions behind the product.
01Problem
A skincare brand needed a complete store experience spanning product discovery, commerce logic and day-to-day catalogue administration.
02Engineering challenge
Build a complete skincare store: product discovery, customer accounts, reliable orders and an operational back office.
03System architecture
CustomerplacesOrderOrderreservesInventoryPayment eventreconcilesOrder04Implementation
- 01
Server-calculated totals, integer currency amounts and inventory reservations protect orders against price manipulation and overselling.
- 02
Idempotent order creation, transactional rollback and signed Stripe webhooks handle retries and payment-state changes. The payment flow was tested in the preview environment.
- 03
The admin panel supports catalogue work, orders and validated supplier CSV drafts. Public catalogue mode is separated from checkout and account writes.
Design decision & trade-off
Keep pricing and stock authority in the backend and expose the public catalogue separately from protected commerce preview. This allows the brand experience to launch while checkout readiness remains explicit.
Quality & operational controls
Server totals use integer currency amounts. Reservations, transactional rollback, idempotent order creation and signed payment webhooks protect the implemented order flow; payment scenarios were verified in preview.
- React
- TypeScript
- Vite
- Express
- SQLite
- Stripe
- Docker
One complete workflow
- 01Discover products
- 02Build a basket
- 03Reserve inventory
- 04Reconcile payment
- 05Manage the order
05Evidence
Actual desktop/mobile storefront and protected admin-preview captures; documented order, stock and payment verification. The mobile store is responsive web, not a native app.
Inside the delivered application
06Outcome & ownership
Delivered
Delivered a branded storefront and full commerce application. The public release runs in catalogue mode; checkout, accounts and payment scenarios are available in a protected preview.
Role & scope
End-to-end store development · brand experience, frontend, backend and deployment
Scope of the result
Personal scope is end-to-end store development and deployment. Public catalogue mode is live; public checkout, live payment acceptance and commercial uplift are not asserted.
Discuss my project
What would you like to improve?
Tell me what your business does and what you want to change. We will work out the first step.
- DiscoveryA map of current processes, problems and data sources.
- StrategyThe target operating model and change priorities.
- ArchitectureRoles, modules, integrations and acceptance criteria.

