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
Neon (PostgreSQL)
User stored

Phase A Task List

Task What Status
Real Clerk Auth Create Clerk app, swap MockClerkProvider for @clerk/nextjs IN PROGRESS
Neon (PostgreSQL) Setup Create sammy_users table with email, sector, role, delivery_status, clerk_id IN PROGRESS
Preference API Build /api/user/preferences endpoint for CRUD IN PROGRESS
n8n Subscriber Fetch Workflow queries Postgres for active sector x role variants and sendable users IN PROGRESS
n8n → Loops.so Personalized email composition and send via Loops API IN PROGRESS
Email Deep Links Magic links in email footer for /tune?token=xxx auto-auth IN PROGRESS
Hide Premium UI Remove /pro page and premium upsells until Phase B IN PROGRESS
Phase A Success = Working Product
  • User signs up with real email verification
  • Preferences persist in database
  • User receives actual daily email briefing
  • 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
Neon (PostgreSQL)
User stored
Stage 2: Daily Content Generation (Automated)
n8n Scheduler
Daily 6am
Perplexity
Finds articles
Gemini
Scores & summarizes
Neon (PostgreSQL)
Articles stored

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

Stage 3: Email Delivery
n8n
Fetch active variants
sector x role
Build by sector + role
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 sector, role, or unsubscribe — no support tickets.

Integration Summary

When System What Happens Phase
User subscribes Clerk → Neon (PostgreSQL) Email verification → user record created A
User saves preferences Neon (PostgreSQL) Sector + role + delivery state 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 → Neon (PostgreSQL) Auto-login → preference update A
Premium purchase Stripe → Neon (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
primary_sector_key luxury_fashion Sector targeting A
primary_role_key marketing_brand Role-lens targeting A
delivery_status active Daily send eligibility 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-03-06.