Vai al contenuto principale

[verdetto][prompt curato][fonte: hiremara.com]

Posso vibecodare Mara?

// si costruisce in un weekend, ma restano buchi veri

Il primo invio è roba da un weekend: eventi di prodotto, bozza scritta da un LLM, API di invio, coda di approvazione. Quello che non esce da un prompt è tutto ciò che viene dopo, dalla reputazione del dominio alle varianti lette su invii veri, e qualcuno che al quarto mese le sta ancora tarando.

confidenza: alta

cos’è: Un marketer lifecycle AI che propone, scrive, invia e continua a riscrivere le email di benvenuto, attivazione e recupero churn di un prodotto SaaS

Indice di costruibilità · gioco editoriale

  • Prezzo da 99 $ · a consumo peso: più 3
  • Tempo più giorni peso: più 1
  • Categoria newsletter non pesa
  • Moat scala dell'infrastruttura · qualità di esecuzione peso: meno 3
  • Confidenza alta peso: più 1
  • Cosa perdi 5 voci peso: meno 2
  • Sito hiremara.com (si apre in una nuova scheda) non pesa
Indice: zero. in bilico

Si pareggiano. È il caso in cui decide quanto ti sta antipatico l’abbonamento.

Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.

Cosa costruisci

Prendere gli eventi di prodotto, far scrivere a un LLM la prossima email del ciclo di vita con la tua voce, tenerla in attesa di approvazione e inviarla secondo una pianificazione.

cosa ti serve

  • una API key Anthropic o OpenAI
  • una API per l'invio email (Resend, Postmark o SES)
  • un tuo sottodominio di invio con SPF/DKIM/DMARC
  • una macchina sempre accesa per lo scheduler
  • gli eventi di prodotto dalla tua app (webhook o database)

Segnalato da chi l'ha fatto. La divisione onesta: l'invio è roba da un weekend, il loop che continua a riscriverlo no.

Il prompt

Un weekend con un agente di coding. I buchi che restano sono qui sotto, in «cosa perdi».

Prompt one-shot EN
Build me a self-hosted lifecycle email agent to replace Mara, for one SaaS product. Requirements:

- Node + Express + better-sqlite3 on my VPS, one SQLite file holding contacts,
  events, sequences, drafts, sends, and suppressions. node-cron ticks once a minute,
  no queue service.
- POST /events takes {type, email, properties} with a bearer token from .env. Every
  event upserts a contact and appends a row I can read back later.
- Sequences are JSON files in ./sequences/: an entry event type, then steps with a
  wait ("2d"), an intent in plain words ("nudge them to connect their first
  integration"), and an optional skip-if event type. Ship two: welcome and
  trial-ending.
- Each tick, find contacts due for a step, drop anyone whose skip-if event already
  fired, then draft with the Anthropic API (key in .env): pass ./voice.md plus that
  contact's last 20 events, get back a subject and a plain-text body.
- Drafts land as pending. A localhost-only admin page lists them with subject, body,
  recipient, and the step that produced it, with Approve and Reject buttons. Nothing
  sends without a click.
- Approved mail goes out through Resend or SMTP from .env, one send row per recipient
  with the provider message id. Bounce and complaint webhooks write to a suppression
  table checked before every send. One-click unsubscribe link in every footer, no
  login.
- Cap at 2 emails per contact per 7 days across all sequences, enforced in code
  before drafting.
- Out of scope: A/B variants, reply parsing, open tracking. Do not build multi-user
  accounts or a visual sequence builder, this runs for one product and one operator.
- README with the deliverability homework: SPF, DKIM, and DMARC on a subdomain like
  mail.example.com, a two-week warmup at low volume, and a blunt line that mail from
  a cold domain lands in spam no matter how good the copy is.

Prompt curato: scritto e rivisto a mano per questa app. In inglese di proposito — è la lingua in cui gli agenti di coding rendono meglio.

Cosa perdi

  • la deliverability: warmup, reputazione del dominio, gestione di bounce e reclami
  • il loop di miglioramento: varianti scritte, divise su invii reali, e quelle perdenti riscritte
  • la gestione delle risposte: posta in arrivo classificata, risposte abbozzate, soppressioni applicate
  • il tracciamento dei risultati ricollegato al testo che li ha prodotti
  • la manutenzione che nessuno fa, che è poi il vero motivo per cui i programmi lifecycle marciscono

Perché pagano ancora

Le email lifecycle non sono un problema di costruzione, sono un problema di mantenimento. La versione fai-da-te funziona la settimana in cui la costruisci e poi resta ferma alla qualità che aveva la prima bozza, perché nessuno torna indietro a riscrivere l'email di attivazione che in silenzio ha smesso di funzionare. Chi fonda un'azienda paga per la parte che continua a succedere dopo la settimana del lancio: qualcosa che legge i risultati, riscrive le varianti perdenti e gestisce le risposte senza che glielo si chieda.

moat: Scala dell'infrastruttura Qualità di esecuzione cos’è un moat

deliverability/loop di iterazione/operations

Chi l’ha già costruito

Partire da qui è vibecoding lo stesso: il prompt serve quando lo vuoi esattamente a modo tuo.

Sei d’accordo?

La bilancia dei voti

Ancora nessun voto: il tuo è il primo.

Nessun voto ancora — il primo pesa.

App correlate

Da brief confuso a UX/UI completa Un brief vago diventa un’app navigabile. Spot prodotto da una foto Una foto diventa uno spot animato, senza codice. Far guardare i video a Claude Claude guarda i tuoi video e li trasforma in testo. Higgsfield in Claude Code Genera immagini e video mentre programmi in Claude Code. Da un Loom a una pagina web Un video schermo diventa una pagina web, senza codice. Video Shorts con NotebookLM Le tue fonti diventano uno short verticale. Landing luxury su Lovable Landing page di lusso con un solo prompt. Excalidraw in locale Excalidraw gratis sul tuo computer, senza codice. Mistral OCR nel flow Estrai testo dai documenti con Mistral OCR. Claude SEO nel terminale 25 skill SEO gratis dentro Claude Code. Google Search Console dentro Claude Code I dati di Search Console dentro il terminale. Routine di Claude Code Claude che lavora da solo, a computer spento. Clonare una landing in React con v0 Clona una landing reale in codice React. Context economy con Claude Lavora leggero e non bruciare i limiti di Claude. Dal prompt alla skill auto-evolutiva Skill Claude che imparano dai tuoi errori. Da NotebookLM a Canva: presentazioni Slide da NotebookLM, finalmente editabili in Canva. La mappa per capire ogni tool AI 12 categorie per incasellare qualsiasi tool AI. PNG trasparenti con ChatGPT PNG con trasparenza reale, non la scacchiera finta. Infografiche animate con Gemini Infografiche che si animano in loop con Gemini. Ricerca di mercato con Deep Research Deep Research come tuo analista di mercato. Farti citare dai motori AI (AEO) Diventa una fonte che ChatGPT e Perplexity citano.