Preview Mode — Data shown is sample data. Connect Supabase + Stripe to see live data.
Revenue (June)
S$1,482
16 orders · Taxes incl.
↑ 18% vs May
Orders (June)
16
3 pending fulfilment
↑ 4 vs May
Avg. Order Value
S$92.6
Per transaction
↑ S$8.2
New Customers
11
5 returning
↑ 3 vs May
Revenue — Last 7 Months
Recent Orders
| Order | Customer | Products | Total | Payment | Fulfilment | Actions |
|---|
Low Stock Alert: Embun de Forêt 10ml — only 3 units remaining.
| Order ID | Date | Customer | Items | Total | Payment | Fulfilment | Actions |
|---|
1 item below reorder threshold — Embun de Forêt 10ml (3 units remaining)
Changes save to Supabase on Next.js build
| Product | Variant | SKU | Price | Stock | Level | Reorder At | Status | Actions |
|---|
Customer Accounts: Guest checkout enabled by default. Customers can optionally create accounts to save shipping info and view order history.
16 total customers
| Customer | Phone | Orders | Total Spent | Last Order | Account | Actions |
|---|
Create Discount Code
Active Discount Codes
| Code | Type | Value | Min. Order | Uses Left | Expires | Note | Actions |
|---|
Total Leads
6
From QR scans
Vials Claimed
6
All at booth
Coupons Used
2
S$176 orders placed
Roadshow Lead Capture — Customers scan the QR code → fill name/email/phone on the promo page → get a unique 10% coupon + free 10ml vial. Leads appear here instantly. In the Next.js build, this syncs live from Supabase.
| Name | Phone | Scent Choice | Coupon Code | Ref # | Date | Coupon Used |
|---|
Best Seller
Autumn Whisper
50ml — 7 units this month
Highest AOV
S$88
50ml full bottle
Coupons Redeemed
4
S$58 discount given
Repeat Rate
31%
5 returning customers
Units Sold by Product
| Product | 10ml | 30ml | 50ml | Total Units | Revenue |
|---|---|---|---|---|---|
| Autumn Whisper | 4 | 2 | 7 | 13 | S$796 |
| Coastal Embrace | 3 | 1 | 4 | 8 | S$494 |
| Embun de Forêt | 6 | 1 | 2 | 9 | S$390 |
| Discovery Kit (3ml×3) | n/a | 9 kits | S$162 | ||
| Total | 13 | 4 | 13 | 39 + 9 kits | S$1,842 |
Site Reference — Simply Yours
Complete overview of all features built and roadmap ahead. Last updated June 2026.
17
Pages Built
6
Admin Tabs
8
localStorage Keys
5
Pending for Go-Live
📄 Pages & Their Purpose
🏠 index.html — Homepage Live
- Gold announcement bar (free shipping notice, dismissible)
- Sticky nav: CSS grid 1fr/auto/1fr, account button, cart count, mobile hamburger
- Hero with perfume image + CTA → catalog
- Featured product grid (4 cards → product pages)
- Brand story teaser + pillars section
- Gifting banner with full-bleed image
- Find Your Fragrance two-column section (new ✦) → Scent Quiz: 3 questions → maps to AW / CE / EF / Discovery Kit → Bespoke Creation: 3-step form (who + occasion → notes multi-select → contact + size)
- Bespoke requests save silently to
sy_bespoke_v1→ visible in admin - Customer login modal: pre-filled Serene demo credentials, OAuth buttons
- Newsletter sign-up section
- Footer with all policy links + Staff login at 12% opacity
🛍️ catalog.html — Shop All Live
- Filter bar: All / Woody / Floral / Fresh / Bestseller
- 4-product grid with hover image swap + price display
- Each card links to its dedicated product page
- Mobile hamburger nav (opens fullscreen overlay)
- Announcement bar + sticky nav
🧴 Product Pages (4 total) Live
- Autumn Whisper · Coastal Embrace · Embun de Forêt · Discovery Kit
- Thumbnail gallery with local Resources/ images (CDN refs removed)
- Size selector (3ml / 8ml / 30ml / 50ml) with dynamic pricing
- "Add to Bag" → writes to
sy_cart_v1 - Scent notes: Top / Heart / Base accordion
- Notify Me (saves to
sy_notify_v1) - Wishlist heart (saves to
sy_wishlist) - Customer Reviews section with star display + write review form
- Review submission saves to
sy_reviews_v1→ visible in admin - Mobile hamburger nav
🛒 cart.html — Cart Live
- Reads
sy_cart_v1from localStorage — persists across all pages - Qty +/− controls per item, remove button
- Subtotal + shipping (free above S$80)
- Gift wrap add-on (+S$4.90)
- Promo codes: WELCOME10 (10%) · SYOPENING (15%)
- "You might also love" upsell row (products not in cart)
- Empty cart state with CTA
💳 checkout.html — Checkout Live
- 3-step breadcrumb: Bag → Checkout → Confirmed
- Contact info, full SG shipping address form
- Delivery: Standard (S$5.90) / Express (S$12) / Free (auto above S$80)
- Gift wrap + personalised card message field
- Payment mock: card form + PayNow / Apple Pay / Google Pay / GrabPay buttons
- Live order summary sidebar from localStorage
- On confirm: generates SY-XXXX order number → saves to
sy_last_order→ redirect - Mobile: checkout steps hidden, logo + secure badge only
✅ order-confirmation.html Live
- Reads
sy_last_orderfrom localStorage - Order number, date, items summary, delivery estimate, total paid
- 4-step delivery timeline (Placed → Processing → Dispatched → Delivered)
- Referral invite (share for 10% off friend's first order)
- Clears
sy_cart_v1on arrival
👤 account.html — Customer Portal Live
- Prototype bypass: auto signs in as Serene Joseph (simplyyours.serene@gmail.com)
- Dashboard: orders list, wishlist, addresses, account settings
- Wishlist reads
sy_wishlistfrom localStorage - Orders tab shows
sy_last_orderhistory - Sign out clears
sy_customer_v1 - At go-live: wire to Supabase Auth + real order history
📞 contact.html Live
- Contact form: name, email, order #, subject dropdown, message
- WhatsApp button (wa.me link)
- Response hours table (Mon–Sat, SGT)
- Social links: Instagram, TikTok, Facebook
- Form shows success state (backend wire pending)
🚚 shipping.html Live
- Free shipping hero banner (S$80+)
- Singapore table: Standard S$5.90 / Express S$12 / Free
- International table: Malaysia, AU/NZ, US, UK/EU, Other
- Grid: Processing time, Packaging, Air freight, Lost order policy
- 5-question FAQ accordion
🎁 gifting.html Live
- Hero: "A scent that says exactly what you mean"
- 3 feature cards: Wooden Box · Wax Seal · Personalised Card
- Product showcase grid with Add to Cart (writes to localStorage)
- Corporate gifting: custom branding, bulk orders, multi-delivery
- Corporate enquiry → contact.html
📖 our-story.html Live
- Full-bleed hero with perfume background
- 3 story chapters: Origin · Philosophy · Craft
- Founders section with brand values
- Fade-up scroll animations, closing CTA → catalog
🔒 admin.html — Staff Portal Live
- Login gate (BYPASS_FOR_PROTOTYPE=true — any credentials)
- Dashboard: KPI cards, recent orders, low-stock alert, activity feed
- Orders: table with status badges + detail modal
- Inventory: stock levels + low-stock alerts
- Customers: table with LTV + order count
- Finance, Marketing, Products, Reports tabs
- Reviews: manage customer reviews, approve/reject, reward codes
- Bespoke Requests: live feed from website form, NEW badge, reply + mark read (new ✦)
- QR Leads: roadshow pop-up lead list
- Site Reference: this page
🎯 promo.html — Roadshow QR Landing Live
- 3-question scent quiz → recommended product
- Lead capture form: name, email, phone
- For QR code display at events / pop-ups
- Leads stored in localStorage → visible in admin QR Leads tab
❌ 404.html — Not Found Live
- On-brand 404 with outlined gold numerals
- CTAs: Return Home + Shop Collection
- Quick links: Story, Gifting, Shipping, Contact, Cart
- Mobile hamburger nav
📜 Policy Pages (3) Live
- privacy-policy.html — PDPA section, OAuth data disclosure per provider, DPO contact
- refund-policy.html — return window, conditions, process
- terms-of-service.html — T&Cs with table of contents anchor nav
- All 3 have mobile hamburger nav added
⚙️ Technical Systems Built
localStorage Keys (all prototype data)
sy_cart_v1 | Active cart items |
sy_last_order | Last placed order |
sy_wishlist | Saved wishlist items |
sy_customer_v1 | Logged-in customer |
sy_admin_v1 | Admin session |
sy_reviews_v1 | Customer product reviews |
sy_notify_v1 | Notify-me email signups |
sy_bespoke_v1 | Bespoke fragrance requests |
Design System (CSS Variables)
| --bg | #090c07 — page background |
| --bg2 / --bg3 | #0f1309 / #141a0e — elevated surfaces |
| --gold | #c49a5a — primary accent |
| --gold-light | #e8c98a — hover / headings |
| --cream | #f0ebe0 — primary text |
| --cream-dim | rgba(240,235,224,0.6) — body text |
| --border | rgba(196,154,90,0.22) — dividers |
| --serif | Cormorant Garamond 300/400/500 |
| --sans | DM Sans 300/400/500 |
Nav & Mobile Pattern
- Desktop: CSS grid
1fr auto 1fr, 70px height - Logo: 32px Cormorant Garamond, padding-top:4px, centered
- Hamburger (≤768px): 3-line button → fullscreen overlay menu
- Mobile menu: fixed overlay, dark bg, 32px serif links, ✕ close
- Cart badge: live count from
sy_cart_v1on every page - Announcement bar: dismissible, updates nav top via JS
- Staff link in all page footers at 10% opacity
- All 17 pages have mobile-responsive nav ✓
Find Your Fragrance (Homepage)
- Two-column section between gifting banner and newsletter
- Scent Quiz (left): 3 questions → maps to one of 4 products using real catalog taglines and notes. Uses step dots + pill selection + addEventListener (not inline onclick)
- Bespoke Creation (right): 3 steps Step 1: Who (3 choices) + Occasion (3 choices) on one page Step 2: Fragrance notes multi-select (10 options) + free text Step 3: Name, Email, Size preference → submit
- Submit saves silently to localStorage — no email popup for customer
- Admin receives request under Bespoke Requests tab with NEW badge
Customer Auth (Prototype Bypass)
- Homepage login modal: pre-filled as Serene Joseph / simplyyours.serene@gmail.com
- Any email accepted — sets
sy_customer_v1in localStorage - OAuth buttons present (Google, Apple, Facebook) — UI only for now
- PDPA consent shown below forms
- Go-live action: replace with
supabase.auth.signInWithOAuth()
Admin Auth (Prototype Bypass)
- Login gate active —
BYPASS_FOR_PROTOTYPE = trueaccepts any credentials - Session stored in
sy_admin_v1 - Go-live actions: set flag to false, add Mathew & Serene's emails as admin users in Supabase Auth, consider TOTP MFA
Supabase Schema (SQL ready)
- File:
supabase-schema.sql— ready to paste into Supabase SQL editor - Tables: customers, customer_addresses, products, product_variants, product_images, inventory, orders, order_items, discounts, leads, admin_users, bespoke_requests, reviews
- RLS (Row Level Security) enabled on all tables
- Auto order number:
SY-YYYY-XXXXXX - Seed data: all 4 products + variants + inventory levels
Product Images (Local)
- All CDN references (simplyyours.co/cdn/…) removed ✓
- Images served from
Resources/andassets/products/ - AW: perfume_AW.png + orchid, gradient_bg, fabric thumbnails
- CE: perfume_CE.png + mirror, glossy_white thumbnails
- EF: orchid, gradient_bg, pastel_purple, mirror thumbnails
- Background / hero: perfume_pastel_purple.png used for gifting banner
🚀 Go-Live Checklist
| Item | Status | Action Required |
|---|---|---|
| Stripe payment integration | Not started | Wire Stripe.js to checkout.html. Enable card, PayNow, GrabPay, Apple/Google Pay. |
| Supabase Auth — real credentials | Not started | Set BYPASS_FOR_PROTOTYPE = false. Add Mathew & Serene as admin users. Wire OAuth providers. |
| Resend transactional email | Not started | Order confirmed, dispatch notification, contact form. Replace console.log placeholders. |
| Bespoke requests → Supabase + Resend | Not started | Replace localStorage.setItem('sy_bespoke_v1') with Supabase insert + Resend email to Serene. |
| Real inventory in product pages | Not started | Connect product pages to Supabase. Disable "Add to Bag" when stock = 0. |
| Deploy to Cloudflare Pages | Not started | Port HTML prototypes to Next.js. Connect to Supabase backend. Set domain to simplyyours.co. |
| Contact form backend | Pending | Currently shows success UI only. Wire to Supabase leads table + Resend notification. |
| Admin KPIs — live data | Pending | Replace mock KPI numbers with live Supabase queries. Wire revenue charts. |
💡 Future Features Roadmap
🟡 Next Up (Post-Launch Phase 1)
Monthly Vial SubscriptionS$18/month for a rotating 10ml discovery vial. Stripe recurring billing. Subscriber dashboard in account.html.Ready to design
Site SearchLive search bar in nav. Fuzzy-match on product names, scent notes, fragrance family.Medium effort
Live Admin AnalyticsReplace mock KPI data with real Supabase queries. Revenue by date range, top products, repeat rate.Needed at launch
WhatsApp Order UpdatesAuto-send status updates via WhatsApp Business API when order status changes in admin.High customer impact
Personalised Gift CardsDigital gift card (S$25 / S$50 / S$100). Purchasable online. Redeemable at checkout.Revenue opportunity
⚪ Phase 2 & Beyond
Simply Club LoyaltyPoints per purchase. Silver / Gold / Platinum tiers. Redeem for discounts or free samples.High retention value
Influencer Affiliate PortalUnique discount codes tracked per creator. Commission dashboard in admin. Auto payout.Growth channel
Multilingual (EN / BM)Language toggle. Target Malaysian market. Malay copy for all product pages + checkout.Market expansion
Progressive Web AppAdd to Home Screen. Offline cart persistence. Push notifications for order updates.Mobile experience
Regional ExpansionMulti-currency (MYR, AUD, USD). Localised shipping rates. Separate regional landing pages.Long-term growth
Revenue Breakdown
| Line Item | Amount |
|---|
By Payment Status
| Status | Orders | Value |
|---|
By Fulfilment Status
| Status | Orders | Value |
|---|
Discount Code Usage
| Code | Orders Using | Total Revenue | Est. Discount Given |
|---|
Gift & Special Orders
🏷 Discount Codes
| Code | Note | Value | Usage | Expires | Status |
|---|
🛒 Buy More Save More
| Rule | Trigger | Discount | Active |
|---|
🎁 Gift with Purchase (GWP)
GWP rules automatically add the free gift to qualifying carts at checkout.
| Rule | Min Spend | Free Gift | Active |
|---|
🤝 Purchase with Purchase (PWP)
PWP shows a discounted add-on offer to customers whose cart qualifies.
| Rule | Qualifying Trigger | Add-on Item | Discounted Price | Active |
|---|
📣 Announcement Bar
Instant preview below. Wires to live site via Supabase config.
✦ Free standard shipping on orders S$80 and above · Use code ROADSHOW10 for 10% off ✦
Product Catalogue
Customer Reviews
| Date | Customer | Product | Stars | Review | Reward Code | Status | Actions |
|---|
✦ Bespoke Fragrance Requests