Skip to content

feat: Brand Outreach Campaign — Resend API for 60 luxury brands#330

Closed
LVT-ENG wants to merge 546 commits into
mainfrom
cursor/brand-outreach-campaign-7417
Closed

feat: Brand Outreach Campaign — Resend API for 60 luxury brands#330
LVT-ENG wants to merge 546 commits into
mainfrom
cursor/brand-outreach-campaign-7417

Conversation

@LVT-ENG
Copy link
Copy Markdown
Member

@LVT-ENG LVT-ENG commented May 6, 2026

Summary

Implements a full brand outreach email campaign system using the Resend API to send personalized proposals to 60 luxury fashion brands (LVMH, Kering, Prada, Burberry, Hermès, Chanel, etc.).

Changes

Backend — api/brand_outreach_campaign.py

  • 60 brands pre-configured (luxury houses, fashion groups, independent maisons)
  • Resend API integration — Sends personalized HTML emails with gold/anthracite branding consistent with the Divineo design language
  • Campaign execution — Single-send or batch execution for all 60 brands
  • Log persistence — JSONL-based campaign log for audit trail
  • Status & monitoring — Campaign summary endpoint with sent/failed counts
  • Inferred contactsinnovation@{brand}.com pattern with override support via custom_contacts

API Endpoints (wired in api/index.py)

Endpoint Method Description
/api/v1/campaign/status GET Campaign configuration & send stats
/api/v1/campaign/brands GET Full 60-brand list with contact emails
/api/v1/campaign/send POST Send to a single brand (brand + email required)
/api/v1/campaign/execute POST Execute full campaign (optional brand/contact overrides)
/api/v1/campaign/log GET Campaign activity log

Frontend — src/lib/campaignClient.ts

  • Full TypeScript API client with types for all campaign operations
  • Ready for admin panel integration

Environment

  • RESEND_API_KEY — Required for sending (graceful degradation when absent)
  • CAMPAIGN_FROM_EMAIL — Sender email
  • CAMPAIGN_FROM_NAME — Sender display name
  • CAMPAIGN_DEMO_VIDEO_URL — Demo video link in email body

Verification

  • TypeScript: 0 errors
  • Vite build: 0 errors/warnings
  • Python module: imports clean, all functions verified
  • Flask API: all 5 endpoints tested end-to-end with correct responses
  • Without RESEND_API_KEY: returns {"ok": false, "error": "RESEND_API_KEY not configured"} (safe degradation)

Slack Thread

Open in Web Open in Cursor 

Copilot AI and others added 30 commits April 12, 2026 18:00
…key, sessionStorage)

Agent-Logs-Url: https://github.com/Tryonme-com/tryonyou-app/sessions/bf174cc3-a4fc-4e3c-8839-d903bb88c142

Co-authored-by: LVT-ENG <214667862+LVT-ENG@users.noreply.github.com>
…ion UI

- Remove overflow:hidden from html/body/#root that blocked all scrolling
- Set #root to position:relative z-index:10 instead of position:fixed with pointer-events:none
- Dim the MediaPipe canvas overlay to opacity:0.15 so React UI is fully visible
- Hide the legacy nav-bottom/pay-bar shell elements (React handles all CTAs)
- Import Google Fonts (Cinzel + Inter) for Vogue-tech typography

Co-authored-by: Tryonme <LVT-ENG@users.noreply.github.com>
- Replace light beige/white gradient with dark anthracite background
- Apply gold (#D4AF37) accents throughout: buttons, borders, text highlights
- Add BALMAIN/DIOR/PRADA/CHANEL/YSL brand rotation in hero section
- Use Cinzel serif for headings, Inter for body — luxury typography
- Restyle all CTAs with glass-morphism and gold glow effects
- Add proper footer with SIRET/patent information
- Ensure all inline styles use anthracite/gold palette consistently

Co-authored-by: Tryonme <LVT-ENG@users.noreply.github.com>
…snap

- Add /api/v1/checkout/perfect-selection: connects to Shopify/Amazon bridges
  for real cart addition (not simulated), returns checkout URLs
- Add /api/v1/leads: persists lead intents through orchestrator
- Add /api/v1/mirror/snap: integrates inventory engine for biometric match,
  returns garment reference and Jules emotional message
- Import inventory_engine, shopify_bridge, amazon_bridge modules
- Enhance /api/health with ok:true, service name, and SIREN/patent fields
  so frontend julesClient correctly displays PAU orchestration status

Co-authored-by: Tryonme <LVT-ENG@users.noreply.github.com>
@CertezaAbsoluta @lo+erestu PCT/EP2025/067317
Bajo Protocolo de Soberanía V10 - Founder: Rubén

Co-authored-by: Tryonme <LVT-ENG@users.noreply.github.com>
…o pauV11 @CertezaAbsoluta @lo+erestu PCT/EP2025/067317 Bajo Protocolo de Soberanía V10 - Founder: Rubén

Made-with: Cursor
…tebral @CertezaAbsoluta @lo+erestu PCT/EP2025/067317 Bajo Protocolo de Soberanía V10 - Founder: Rubén

Made-with: Cursor
…dentials and PDF path. Added error handling and improved code structure with a main function. Updated comments and documentation for clarity.
…rio firebaseEnv @CertezaAbsoluta @lo+erestu PCT/EP2025/067317 Bajo Protocolo de Soberanía V10 - Founder: Rubén

Made-with: Cursor
- Purga completa de 63 conflictos y activos legacy (Husky removed).
- Implementación de Real-Time 3D Modeling para Pau (Vogue Style).
- UI Landing: Antracita & Oro Lafayette con tipografía Cormorant Garamond.
- Configuración de Firebase saneada para producción.
- Inyección de Master Look Versace: 6 complementos validados.
- Sincronización de Armario Solidario y métricas de CO2 activas."
- UI/UX: Refinamiento cromático Lafayette (Antracita/Oro/Negro).
- Typo: Inyección de Cormorant Garamond (Divine Lettering) y contraste blanco puro.
- Engine: Limpieza total de 63 conflictos de dependencias y rutas legacy.
- Beauty: Mapeo de Smokey Eye y recogido griego en el motor de renderizado Pau.
- Performance: Optimización de Shaders para el remolino de polvo dorado (Snap-Effect).
- Mirror: Calibración de cámara vertical (>2m) para visualización esbelta de Versace."
- UI/UX: Refinamiento cromático Lafayette (Antracita/Oro/Negro).
- Typo: Inyección de Cormorant Garamond (Divine Lettering) y contraste blanco puro.
- Engine: Limpieza total de 63 conflictos de dependencias y rutas legacy.
- Beauty: Mapeo de Smokey Eye y recogido griego en el motor de renderizado Pau.
- Performance: Optimización de Shaders para el remolino de polvo dorado (Snap-Effect).
- Mirror: Calibración de cámara vertical (>2m) para visualización esbelta de Versace."
- Finalized 'divineo_v11.css' with Lafayette-inspired radial gradients and gold-white palette.
- Consolidated 'sovereignty_payout.py' ensuring 0 errors in workspace.
- Implemented 30% discount logic for Master Look conversion.
- Generated SacMuseum VIP QR protocol for high-society engagement.
- Automated treasury distribution: Local Reservation, BPI Reserve, and Provider settlement.
- Workspace cleaned: 0 linter errors, production-ready.

"Let's be the tendency. Paris is the capital, and we are the example."
- Finalized 'divineo_v11.css' with Lafayette-inspired radial gradients and gold-white palette.
- Consolidated 'sovereignty_payout.py' ensuring 0 errors in workspace.
- Implemented 30% discount logic for Master Look conversion.
- Generated SacMuseum VIP QR protocol for high-society engagement.
- Automated treasury distribution: Local Reservation, BPI Reserve, and Provider settlement.
- Workspace cleaned: 0 linter errors, production-ready.

"Let's be the tendency. Paris is the capital, and we are the example."
…+ Búnker Digital

✅ Modules: avatar3D (Motor Biométrico A4), pagoAVBET (Pasarela Iris+Voz), recomendadorPAU (IA Emocional), autoDonate (Armario Solidario)
✅ Agents: capitalManager, taxNotifier, runwayGenerator, mockupEngine, githubCommitAgent, vercelOperator
✅ Infrastructure: Makefile Ignición Total
✅ Impact Section: The 0sizes Era + theatre videos + metrics
📋 Patente: PCT/EP2025/067317
🌐 Destino: tryonyou.app
LVT-ENG and others added 26 commits May 4, 2026 10:58
…s, snap/Balmain trigger, Qonto SWIFT MT103 webhook, SMTP bounce handler

@CertezaAbsoluta @lo+erestu PCT/EP2025/067317
Bajo Protocolo de Soberanía V10 - Founder: Rubén

- useMirrorEngine hook: connects to /api/v1/pau/scan for biometric processing,
  renders 5 garment suggestions post-scan, implements audio/visual snap event,
  Balmain trigger automatically plays snap sound and updates avatar to L1 model
- DigitalMirrorPanel component (FR/EN/ES i18n):
  * Ma Sélection Parfaite: adds garment/look to cart with calculated size
  * Réserver en Cabine: generates QR code and triggers in-store reservation
  * Voir les Combinaisons: shows remaining 4 suggestions
  * Enregistrer ma Silhouette: posts scan data stripped of height/weight/size
  * Partager le Look: generates shareable image with biometric data stripped
- Backend /api/v1/mirror/save-silhouette: persists silhouette under encrypted
  protocol, explicitly strips height/weight/size from output payload
- Backend /api/v1/mirror/share-look: generates share token with biometric data
  stripped from the payload before generation
- Qonto SWIFT MT103 webhook (/api/v1/qonto/swift-webhook): validates MT103
  status codes (ACCP/ACTC/ACSP/ACSC/RJCT/PDNG), signature verification via
  HMAC-SHA256, reconciliation matching against F-2026-001 reference
- SMTP bounce handler (/api/v1/smtp/bounce): classifies hard/soft bounces via
  pattern matching, flags accounts with User Unknown errors automatically
- TypeScript 0 errors, Vite build 0 errors/warnings

Co-authored-by: Tryonme <LVT-ENG@users.noreply.github.com>
- New api/divineo_global_orchestrator.py: coordinates 5 pilot KPI
  pillars, Pau aesthetic engine, Zero-Size protocol, and finance links.
- Three API endpoints wired: GET /api/v1/orchestrator/status,
  GET /api/v1/orchestrator/kpis, POST /api/v1/orchestrator/execute.
- Frontend OrchestrationPanel component with FR/EN/ES i18n, displaying
  architecture, master brands, deployment status, and pilot KPI pillars.
- Health endpoint updated with orchestrator availability metadata.

@CertezaAbsoluta @lo+erestu PCT/EP2025/067317
Bajo Protocolo de Soberanía V10 - Founder: Rubén

Co-authored-by: Tryonme <LVT-ENG@users.noreply.github.com>
…s @CertezaAbsoluta @lo+erestu PCT/EP2025/067317

Bajo Protocolo de Soberanía V10 - Founder: Rubén

- api/brand_outreach_campaign.py: Full campaign engine (60 brands, Resend API,
  personalized HTML emails, campaign log, status tracking)
- API endpoints: /api/v1/campaign/{status,brands,send,execute,log}
- src/lib/campaignClient.ts: TypeScript API client with full types
- .env.example: RESEND_API_KEY + CAMPAIGN_* env vars documented

Build: TypeScript 0 errors, Vite 0 errors/warnings.

Co-authored-by: Tryonme <LVT-ENG@users.noreply.github.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tryonyou-app Ready Ready Preview, Comment May 6, 2026 1:30pm
tryonyou-app-work Ready Ready Preview, Comment May 6, 2026 1:30pm
tryonyou-pilot Ready Ready Preview, Comment May 6, 2026 1:30pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants