DeeDae · the deal-finder that speaks your language.
This wiki is the live brain of the project. Brand, skins, product flows, architecture, risks, and every session digest. When you finish a working session with Claude, push the digest here and it's part of the record forever.
Mission · flexible is the new unicorn.
DeeDae is an AI shopping agent that finds the lowest legitimate price on the things you want — and tells you about it in your native voice.
Single backend. Three voices for V1 (Glow, Editorial, Friend). Same data, different flavor. The skin engine is the moat — it lets DeeDae be infinite cohort apps from one codebase.
Beauty is the V1 wedge. Tactical, Pop, Found, Classic come after Glow Pro shows 30-day retention.
Audience · three distinct shoppers.
Same product, three personalities. Each is a real cohort with real distinct shopping behavior — not personas we made up.
Glow Pro — dewy maximalist, screenshots with conviction, lives in the FYP. Says "heck yeah."
The Considered — reads ingredient lists and founder bios, takes their time. Says "as it happens."
The Asker — would rather text a friend than read a review. Says "omg ok ok."
Market wedge · beauty first, then the world.
The Lipstick Effect (small luxuries survive recessions), dupe culture as a real search behavior, 10–15% affiliate commissions, high purchase frequency, share-first audience.
V1 beauty-only. Tactical, Pop, Found, Classic come after PMF.
Brandifesto · coming next.
One-page voice and principles document. Mission, voice rules per skin, what we promise, what we never do.
This section will be filled in the next session by Pete + Claude.
Wordmark · Bricolage 800 + cherry dot.
The DeeDae wordmark is the only constant across all skins. Six variants: gradient, black + cherry dot, white + cherry dot, mono-black, mono-white, square favicon.
Default decision tree:
- Glow context, light bg → gradient
- Other light bg → black + cherry dot
- Dark bg → white + cherry dot
- Single-color print → mono
- Square required → favicon
Color & type · locked per skin.
Every skin defines its own color tokens, font stack, and geometry. The skin file is the brand spec for that voice.
See §07 for the architecture; see /lib/skins/{glow,editorial,friend}.ts for the source of truth.
Skin architecture · data, not code.
A skin is a TypeScript file exporting an object with tokens, fonts, geometry, copy, and an optional background image URL. Components read from a React Context.
To add skin #4: create a new file in /lib/skins/, export it, add to the registry. No component code changes. Background can be CSS layers, an image, or both.
Hot-swappable: skin choice persists in cookie + localStorage. Cookie is read server-side so first paint is correct (no skin flash on page load).
Glow · Editorial · Friend · the V1 lineup.
Three skins ship at launch. Each is a complete world — colors, fonts, geometry, voice, background.
Glow — Bricolage 800, Frank Ruhl Libre italic accents, hot pink + soft purple gradient, pastel cloud bg, sparkles.
Editorial — Fraunces 350, magazine-spread bg with cherry-red ink-blot, hairline borders, restrained voice.
Friend — Bagel Fat One + Caveat handwriting, hot coral + acid lime, notebook page bg with hole punches and red margin line, slight rotational tilts.
Vibe quiz · three questions to your skin.
Three questions, each with 4 weighted options. Last-answer-wins on tie. ~30 seconds. Result locks the skin (overridable via the vibe chip top-right).
Audit flow · paste a link, get a score.
Splash → Quiz → Match → Audit → Scan → Result. Five real pages, native scroll, shareable URLs per audit (deedae.com/result/abc123).
Audit returns a Glow Score (0-100) on a wheel-of-fortune reveal, plus the cheapest legit price found and a happy-price form.
Happy price · the primary conversion.
User names the price they'd be happy to pay. We watch the listing and ping when it lands. Email captured here, posted to GoHighLevel via webhook.
This is the moment a visitor becomes a lead. Optimize for it. Track happy_price_locked as the hero KPI.
Cringe-or-Fetch · cultural intelligence dataset hiding inside a poll.
A daily slang term shows on the home screen with two buttons: Cringe or Fetch. Users vote. The aggregated result becomes a proprietary dataset on what's still cool — licensable to brands six figures down the road.
Trend pipeline runs daily at 6am UTC via Vercel cron. Calls Claude (Haiku 4.5 + web search) against Reddit, Urban Dictionary, X trends, Genius lyrics. Returns 8-12 candidate terms with usage examples and trajectory ('rising' / 'peak' / 'fading'). Cached in KV with 7-day TTL.
Polling UI is a placeholder for V1; the API and KV schema ship now so we don't repaint corners.
Cart Clearance · V2 — sweepstakes legal review pending.
Surprise pay-offs of user happy-prices via Stripe Issuing virtual cards. Legal territory: needs official rules, no-purchase-necessary alternative, 1099-MISC reporting >$600. Months out.
Stack · Next.js + KV + Claude.
Next.js 14 App Router on Vercel. Vercel KV for cache + leads. Claude (Haiku 4.5 + web search) for scans and trends. GoHighLevel for email/SMS. Skimlinks for affiliate. GA4 for analytics. No SQL, no Supabase, no auth in V1.
Affiliate model · tiered Skimlinks priority.
Open web search; if our affiliate-network retailers are within ~5% of cheapest, surface those (transparently labeled). Otherwise, surface the absolute cheapest.
Honest user trust > maximum revenue extraction. Skimlinks at the output layer (60K retailers, one API).
Trend pipeline · automated, daily, cached.
Cron at 6am UTC → Claude with web search → 8-12 trend candidates → KV cache (7-day TTL) → Cringe-or-Fetch UI reads from KV. Cost ~$0.05/day.
Analytics · GA4 + KV mirror.
GA4 ID G-F5M2P4TRXV. 10+ custom events. Server-side mirror to KV for ad-blocker fallback. The funnel: quiz_started → quiz_completed → audit_submitted → audit_complete → happy_price_locked.
Virality KPIs · share rate is the riskiest assumption.
Target: >15% of audit_complete events trigger a share. If audits don't go viral, the rest of the plan needs reconsideration.
Watchouts · known risks.
Affiliate cold-start, Cart Clearance sweepstakes legal, COPPA exposure (12-19 audience pulls in under-13s), iOS PWA push only after install, Anthropic API costs scale with virality, Vercel Hobby commercial-use grey area, skin sprawl risk.
Compliance · PII Light, COPPA decision pending.
Email captured only at happy-price moment. No accounts, no auth. Stripe handles vaulting when it ships. COPPA decision (age-gate at 13+ vs parental consent) must lock before email capture goes live.
Live feed · session digests, append-only.
Every Claude session ends with a digest pushed here. Append-only — the history is the value.