Sammy Build Plan (Stakeholder)

Product: email intelligence subscription for luxury industry roles.

Strategy: Launch minimal MVP with real email delivery first. Add Stripe payments after core experience is validated.
A

Phase A: Minimal MVP

Current focus — Real auth, real DB, real emails. Free tier only.

What We're Building

Replace all mocked/demo components with production infrastructure. Users get real email briefings.

Current Demo State (What Gets Replaced)
Auth
localStorage
No email sends
Mock premium

All mocked — Clerk not connected, Postgres not connected, Loops not connected, Stripe not connected.

Target MVP State (Phase A Deliverable)
Visitor
Sammy Web
/auth
Clerk
Real email-code
PostgreSQL
User stored

Phase A Task List

Task What Status
Real Clerk Auth Create Clerk app, swap MockClerkProvider for @clerk/nextjs TODO
PostgreSQL Setup Create sammy_users table with email, persona, frequency, clerk_id TODO
Preference API Build /api/user/preferences endpoint for CRUD TODO
n8n Subscriber Fetch Workflow queries Postgres for users by cadence (daily/weekly) TODO
n8n → Loops.so Personalized email composition and send via Loops API TODO
Email Deep Links Magic links in email footer for /tune?token=xxx auto-auth TODO
Hide Premium UI Remove /pro page and premium upsells until Phase B TODO
Phase A Success = Working Product
  • User signs up with real email verification
  • Preferences persist in database
  • User receives actual email briefing daily or weekly
  • User can update settings via email link
C

Phase C: Enhanced Features

Future — Based on user feedback and product-market fit.

System Flow — How Sammy Works

User
Sammy Web
Database
Auth/Billing
Email Service
AI Processing
Stage 1: User Subscribes
Visitor
Sammy Web
/auth
Clerk
Email verification
PostgreSQL
User stored
Stage 2: Daily Content Generation (Automated)
n8n Scheduler
Daily 6am
Perplexity
Finds articles
Gemini
Scores & summarizes
PostgreSQL
Articles stored

Sources: Vogue Business, BoF, WWD, FT, McKinsey, Bain, etc. Tiered by credibility.

Stage 3: Email Delivery
n8n
Fetch users
by cadence
Filter by persona
Compose HTML
Inbox
Loops.so Integration

Sent to Loops: recipient email, subject line, personalized article list (titles, summaries, links), unsubscribe link, manage preferences link. Loops handles deliverability and bounce management.

Stage 4: Self-Serve Updates
/tune?token=xxx
Clerk
Auto-auth
Update prefs

Users change persona, frequency, or unsubscribe — no support tickets.

Integration Summary

When System What Happens Phase
User subscribes Clerk → PostgreSQL Email verification → user record created A
User saves preferences PostgreSQL Persona + cadence stored A
Daily scheduled run n8n → Perplexity → Gemini Articles discovered, scored, stored A
Email send time n8n → Loops.so Personalized digest delivered A
User clicks email link Clerk → PostgreSQL Auto-login → preference update A
Premium purchase Stripe → PostgreSQL → Loops Payment processed, tier upgraded B

MVP Data Model

Field Example Purpose Phase
id uuid Primary key A
email partner@brand.com User identity A
clerk_id user_2xxx Auth linkage A
persona CMO Role-based targeting A
frequency daily / weekly Delivery cadence A
subscription_tier free Entitlement (free only in Phase A) A
stripe_customer_id cus_xxx Stripe linkage B
subscription_status active / cancelled Billing state B

Decisions Needed

Page intent: Internal clarity for stakeholders. Updated 2026-02-22.