Skip to main content
Hanseo
  • Home
  • Projects
  • Experience
  • Certificates
  • Projects
  • Experience
  • Certificates

© 2026 Hans Amoguis

← All Projects

01 of 05

Le Doux

Artisanal cookie ordering platform with a public order form and comprehensive admin dashboard for managing orders, products, payments, and analytics

2026Sole Full Stack DeveloperClient: Le Doux
Live Preview
  • Brief
  • Decisions
  • System
  • Capabilities
  • Screenshots

Primary visual evidence

Le Doux — primary interface screenshot

Brief

Problem

A cookie seller relied on Instagram for discovery and Google Forms for order intake. Manual payment screenshot review, no order tracking, no CRM data, and no analytics made operations slow and error-prone. There was no structured product catalog, no automated confirmations, and no way to manage orders at scale.

Response

Le Doux is a full-stack cookie ordering platform built for an artisanal cookie business in Davao. It replaces a Google Forms-based workflow with a branded, multi-step order wizard and a comprehensive admin dashboard. The system handles structured product ordering across multiple template types (cookies, boxes, tubs, bento cakes), GCash payment verification with client-side OCR, and a full admin suite covering orders, menu management, form building, customer CRM, and analytics.

Technical Decisions

  1. 01

    Next.js full-stack App Router: Server Components, Server Actions, Route Handlers, and Middleware in a single deployment — no separate backend needed for this scope.

  2. 02

    Supabase for database, auth, and storage: PostgreSQL with RLS handles multi-tenant data isolation, Supabase Auth manages admin sessions, and Storage handles payment proofs and menu images without custom upload logic.

  3. 03

    Order snapshot strategy with JSONB: all customer, payment, and form response data is denormalized into snapshots at creation time. Historical orders render from snapshots only, ensuring accuracy as products, prices, or settings change.

  4. 04

    Server-side price recalculation: the client submits line items but the server re-fetches product prices from the database and recalculates all totals. Client-submitted totals are never trusted, preventing price tampering.

  5. 05

    Tesseract.js for client-side OCR: payment screenshots are processed in the browser to auto-extract GCash reference numbers, reducing manual entry errors without a server-side OCR pipeline.

  6. 06

    Dynamic form builder with draft/publish workflow: admins configure the public order form through a visual block editor stored as JSONB, with publish validation ensuring no orphaned categories or empty product lists.

System

Stack

  1. 01Next.js 16
  2. 02React 19
  3. 03TypeScript
  4. 04Tailwind CSS 4
  5. 05Supabase
  6. 06Zod
  7. 07Lucide React
  8. 08Recharts
  9. 09Tesseract.js
  10. 10Framer Motion
  11. 11qrcode.react
  12. 12html-to-image

Integrations

  1. 01Supabase
  2. 02Netlify

Capabilities

  1. 01Multi-step order wizard with step navigation and per-step validation
  2. 02Dynamic form rendering with admin-configurable blocks (text, images, product categories, customer info, fulfillment, payment, review)
  3. 03Product catalog with category grouping, sold-out indicators, and image support
  4. 04Flexible product types — Cookie (simple qty), Box (exact-quantity flavor distribution), Tub (3 flavors + 1 sauce), Bento Cake (dedication + add-ons)
  5. 05Fulfillment options — self-pickup with slot selection or Maxim delivery with address input
  6. 06GCash payment with QR display, screenshot upload, and client-side OCR for auto-extracting reference numbers
  7. 07Order confirmation with summary, social links, and scannable QR code for quick admin lookup
  8. 08Menu Guide bottom sheet with product information and guides
  9. 09Admin dashboard with at-a-glance stats (new orders, pending payments, today's orders, estimated revenue)
  10. 10Orders management — paginated list with status/search filters, CSV export, item breakdown, activity log, and internal notes
  11. 11Payment verification with screenshot lightbox review and reject-with-reason flow
  12. 12Manual confirmation with receipt generation — downloadable PNG receipts and copy-text summaries for Instagram/Facebook DMs
  13. 13Menu management — full CRUD for categories, products, option groups, and option values with template-based pre-creation, reordering, and sold-out toggles
  14. 14Form builder — drag/reorder form blocks, toggle visibility, exclude products, preview draft, publish with validation
  15. 15Content management for welcome messages, reminders, and GCash instructions
  16. 16Settings — pickup slot CRUD with reorder and capacity, payment method toggles with account info and QR upload
  17. 17Customer CRM — auto-created customer records, searchable list with order stats, customer detail with notes and order history
  18. 18Analytics — period-filtered charts for revenue over time, status/payment/fulfillment breakdowns, new vs repeat customers, top products and flavors
  19. 19Staff management with add staff, change password, and forgot password flow
  20. 20Automated cleanup — weekly pg_cron job deletes orphaned storage files, purges stale logs

Screenshots

Le Doux — screenshot 1
Le Doux — screenshot 2
Le Doux — screenshot 3
Le Doux — screenshot 4
Le Doux — screenshot 5
Le Doux — screenshot 6
Le Doux — screenshot 7
Le Doux — screenshot 8
Le Doux — screenshot 9
Le Doux — screenshot 10
All Projects
Next →Next →