01 · Selected work

DOME + Claire

Cubby House — agentic commerce, SEO→AEO, qualified lead gen. Solo conceptualised, designed, built, and managed.

Live: v1 catalogue + Claire consult Partial: v2 RAG / Stripe / x402 No scaled-revenue claim
Role

Marco solo conceptualised, designed, built, and manages the system.

Business problem

Cut AU mattress-retailer CAC via SEO→AEO; aggregator plus qualified lead gen. Pattern for other verticals. Mattress category context: ~A$1.8B domain — not DOME revenue.

Early validation (GA4, 90 days ending 15 Sep 2026)

49 active users · 93 new users · 48s engagement · 643 events. Early signal only.

Do not claim

Scaled revenue, booked ARR, or 7ARCH / ADE-F.T inside this programme — those are separate ML-Nightworx work.

The system

DOME (brand: Cubby House) is an Australian mattress-comparison platform. It ingests retailer product feeds into a normalised catalogue, renders SEO/AEO surfaces — guides, product pages, agent manifests — and tracks every outbound retailer click.

Claire is the AI Sleep Concierge on top: a conversational consult that collects a sleep profile (position, pain points, budget, household) and matches it against the catalogue. A request flows browser → Express API on Cloud Run (australia-southeast1) → server-side POST /consult proxy → Sleep Deep Firebase Cloud Function → scored matches with AUD prices → click-through via /api/track-click (302 + UTM) to the retailer, with the click logged and GA4-enriched.

Catalogue evidence: 17 retailer feed CSVs; the site claims 16 retailers / 171+ products. AEO/SEO: 48 guides, plus llms.txt, ai-plugin.json, OpenAPI (dome_mattress_au), MCP servers.json, UCP, and sitemap. Lead handoff uses UTM-stamped outbound links and a consultation reference code as a pay-per-lead primitive.

Claire’s design

v1 Claire is prompt-driven consultation, not a tool-calling agent: front-end conversational flow and slot collection; matching by the Sleep Deep function; guide content via a Gemini persona prompt. Four required slots. Guardrails include temperature 0.0, a medical disclaimer, rate limits, brand-name suppression in guides, and privacy limits on stored fields. HITL: admin guide edit; Firestore transcripts flagged audited: false pending review.

v2 (TypeScript) adds Vertex AI RAG retrieval, Gemini 2.0 Flash re-rank, heuristic-first slot extraction, and feature-flagged Stripe + x402 USDC payments. Hybrid scoring falls back to RAG order if the LLM re-rank is skipped.

  • Cloud Run · Express · Node.js
  • Firebase Cloud Function (Gen2 / Genkit)
  • Gemini 2.0 Flash
  • Cloud Firestore
  • GA4
  • SendGrid
  • Vertex AI RAG (v2)

Design decisions worth copying

  1. File-based catalogue over a database — zero-ops on Cloud Run.
  2. Server-side consult proxy — hide the agent endpoint, rate-limit, tight CORS.
  3. Hybrid scoring: RAG retrieve, LLM re-rank, RAG fallback.
  4. Heuristic-first slot extraction.
  5. Temperature 0.0 plus an engineered persona for SEO copy.
  6. HITL guide edit before/after publish.
  7. Consultation reference code as a measurable lead-handoff primitive.
  8. Agent-native discovery treated as first-class SEO.
  9. Feature-flagged payments, dark-shipped.

Production honesty

Live: catalogue, guides, Claire v1 consult proxy, Firestore, SendGrid, GA4, UTM clicks, agent manifests, Gemini guide generation, and admin HITL.

Partial: DOME v2 RAG / Stripe / x402 code is complete; deploy state is not verified from the repo. Stripe is unproven in-repo.

Known limits: in-memory click log (lost on redeploy); shared admin password; v1 scorer lives outside this repo; catalogue freshness cadence is unclear.

Open items, not claims: consultation/affiliate counts on analytics.ml-nightworx.io when that feed is live; Sleep Deep function internals if that repo is shared later.