Problem
A growing online beauty store needs accurate stock, low-friction checkout, local payment and shipping support, and a practical way to manage every order without stitching together disconnected tools.
A responsive Korean beauty shopping platform built around the full order journey—from live product availability and guest checkout to payment verification, delivery tracking, referral rewards, and back-office control.
Problem
A growing online beauty store needs accurate stock, low-friction checkout, local payment and shipping support, and a practical way to manage every order without stitching together disconnected tools.
Solution
A single full-stack platform keeps the catalog, checkout, payment proof, shipping, order status, referrals, Messenger support, and admin workflows connected to the same operational data.
Result
Customers can complete and track an order without creating an account, while the store manages products, inventory, payments, shipping, referrals, and fulfillment from one system.
Start with the three system branches, then open the parts you want to inspect.
Public-safe visual assets from the Beauty storefront, checkout, admin, and the live GHL + n8n Messenger AI workflow. Names and addresses are cropped from test orders.
Problem
Beauty shoppers need a clear way to browse a changing catalog across phones and larger screens without seeing stale availability.
Solution
The Next.js storefront presents skincare and makeup collections, product details, variants, live stock states, a persistent cart, and responsive shopping layouts.
Result
The public catalog and administrative product records use the same inventory source instead of separate manual listings.
62 checks across two independent audits plus a live re-verification pass. 61 pass; 1 hallucination was caught while testing the live Messenger bot and fixed the same day.
| Test Area | What We Verify | Result |
|---|---|---|
| Inventory & Checkout | Stock handling from cart through order creation, including the earlier issue where stock was held indefinitely on unpaid orders | PASS — 1-hour reservation window auto-releases stock; confirmed in code and via a live unpaid test order |
| Guest Checkout & Shipping | Cart math, shade/variant stock caps, and destination + weight-based shipping calculation | PASS — verified across multiple SKUs and destinations |
| Policies & SEO | Returns/shipping/privacy/terms pages exist; robots.txt and sitemap.xml resolve | PASS — previously 404, now live in production |
| Payment Proof Flow | GCash/GoTyme instructions, upload accepts common image formats, Gemini extraction flags mismatches for admin review | PASS — human-in-the-loop decision confirmed, no auto-approval |
| Referral Program | Referral code capture at checkout, dashboard, and reward clearing lifecycle | PASS — verified in checkout, dashboard, and admin reward flows |
| Messenger AI — Accuracy | 35 test questions written from typical customer questions: authenticity, pricing, condition/expiry, payment methods, delivery, returns, and owner privacy | PASS — 35/35 after one fix. Testing caught one hallucinated answer in the live Messenger bot, which I corrected and re-tested. |
| Messenger AI — Live Architecture | GHL trigger → n8n Gemini agent → tool calls (Search Products, Check Order Status, Shipping Estimate, Referral Info, Human Handoff) → reply returned to GHL | PASS — confirmed directly in the published, live n8n workflow |
| Site Health | Console errors, broken image requests, product-level SEO metadata | PASS — zero console errors, zero broken images across full audit session |
| UI Regression | Messenger widget overlapping the last shade-selector button on variant-heavy product pages | FIXED — pointer-events hit-strip logic confirmed in code |
Connect the customer journey to the inventory, payment, fulfillment, referral, and support workflows behind it.