Architecture
A managed cold-email deliverability engine — outbound email on your customer-supplied leads, plus AI content scaffolding — running on phi-cloud for inference, Resend for email, Supabase for multi-tenant data, and Stripe for billing.
CogniLead is a managed cold-email deliverability engine. You supply the leads (via the dashboard or POST /api/v1/leads) and CogniLead runs the hard part: warmed sender-domain pools, a reputation circuit-breaker, personalised multi-step email sequences, reply and bounce handling, suppression, and one-click unsubscribe. It also generates AI content scaffolding. The same engine that grows the portfolio is the product CogniLead sells — multi-tenant and Stripe-billed.
What ships today
- Outbound email deliverability — the core. Personalised, multi-step email sequences delivered through Resend, over a jurisdiction-aware warmed sender-domain pool, with a reputation circuit-breaker, IMAP reply correlation, bounce handling, suppression, and one-click unsubscribe.
- AI content scaffolding. lib/seo/generate.ts produces blog-page and landing-page drafts and on-page recommendations from a product, topic, and keyword set. Pure LLM generation via phi-cloud — structured content scaffolding, not keyword research or SERP analysis.
- Lead intake by API. Leads enter the system via POST /api/v1/leads (customer-supplied). The engine verifies, de-dupes, suppresses, schedules, sends, and tracks them.
Infrastructure
- phi-cloud — LLM provider for content scaffolding and outbound personalisation.
- Resend — email delivery plus inbound reply and bounce webhooks.
- Stripe — billing for the sold product.
- Supabase — auth, multi-tenant data, and row-level security.
AI content scaffolding
Generate blog-page and landing-page drafts plus on-page recommendations for a given product, topic, and keyword set. lib/seo/generate.ts drives the call; POST /api/v1/seo/generate exposes it over HTTP. This is content scaffolding, not an SEO-intelligence product.
The content plane turns a product description, a topic, and a keyword set into draft content. It generates long-form blog-page drafts, conversion-oriented landing-page drafts, and structured on-page recommendations (titles, meta descriptions, heading outlines, link suggestions). Everything is a single structured LLM call to phi-cloud — useful scaffolding to start from and edit, not keyword research, SERP analysis, or schema markup.
What it produces
- Blog-page drafts — long-form articles targeting an informational keyword cluster.
- Landing-page drafts — conversion-oriented copy targeting a commercial-intent keyword.
- On-page recommendations — title tag, meta description, H1/H2 outline, and link suggestions, returned as structured fields. These are LLM suggestions, not a computed link graph.
How to call it
lib/seo/generate.ts is the in-process entry point. Over HTTP, POST /api/v1/seo/generate takes the product, topic, keyword set, and content kind, and returns the generated artifact plus the on-page recommendations. The same capability is exposed as a free, capped MCP tool for AI IDEs (see §6).
POST /api/v1/seo/generate
{
"product": "string",
"topic": "string",
"keywords": ["string", "string"],
"kind": "blog" | "landing"
}Outbound email
Personalised, multi-step email sequences to the leads you supply. Resend handles delivery and the bounce/reply webhooks; CogniLead handles the warmed sender pools, personalisation, suppression, and RFC 8058 one-click unsubscribe.
The outbound email plane sends personalised, multi-step sequences to the leads you supply via POST /api/v1/leads. Dispatch is intentionally thin — Resend handles the SMTP, the bounce tracking, and the reply detection. CogniLead owns the warmed sender-domain pool, personalisation (via phi-cloud), the sequence schedule, and the outbound hygiene that keeps the channel healthy.
Delivery
Each sequence step is rendered and handed to Resend for delivery. Inbound webhooks stream bounces, replies, and complaints back into the tenant's data, which drive the suppression list and the per-step state of the sequence.
Personalisation
Drafts are generated per lead via phi-cloud, grounded in the lead data you supply. The output is structured (subject, body, html, text) so it can be validated before it is queued for delivery.
Hygiene
CogniLead keeps only the outbound hygiene the channel actually needs: a per-tenant suppression list and an RFC 8058 one-click unsubscribe. A complaint, a bounce, or an unsubscribe against one campaign suppresses the address across all of that tenant's campaigns. That is the whole compliance surface — see §5.
Lead intake
Targeting is your job: you POST the leads. CogniLead does not ingest, enrich, or rank a company universe — it is the deliverability layer downstream of your CRM, scraper, or Apollo/Clay export.
CogniLead does not ingest, enrich, or rank a company universe. It is the deliverability layer downstream of your lead source (your CRM, a scraper, an Apollo or Clay export). You hand it leads; it gets the mail into the inbox.
Deliverability & compliance
Healthy delivery through Resend, plus the only compliance surface CogniLead carries: a per-tenant suppression list and RFC 8058 one-click unsubscribe. Nothing more is sold or promised on compliance.
Deliverability keeps the outbound channel healthy and the compliance surface honest. CogniLead leans on Resend for the heavy lifting — SMTP, bounce handling, reply detection — and keeps its own footprint to the two hygiene primitives outbound actually requires.
Suppression list
Each tenant has a global suppression list. An email or domain on the list is a hard gate — it is checked before any send, and a hit drops the lead. Bounces, complaints, manual entries, and unsubscribes all write to the same list, so a suppression against one campaign suppresses the address across every campaign that tenant runs.
One-click unsubscribe
Every message carries an RFC 8058 one-click unsubscribe in List-Unsubscribe-Post. An unsubscribe is honoured by adding the address to the suppression list immediately, across all of the tenant's pools.
MCP server
The @cognilead/mcp-server brings CogniLead into Cursor, Claude Desktop, and Windsurf. Two free, capped content tools work with no key; the outbound tools (ingest a lead, run a campaign, suppress) are gated behind an API key.
The MCP server is the acquisition lever. A developer running an MCP-aware IDE can install @cognilead/mcp-server and reach the free content tools without a key, then authenticate to unlock the gated outbound tools — without leaving the editor.
Tools
- cognilead.draft_pitch — free, capped (20/day). Drafts an email pitch from the context you supply.
- cognilead.score_signal — free, capped (50/day). Scores a lead or signal you supply for product fit (0–100, deterministic).
- cognilead.ingest_lead — gated. Registers a customer-supplied lead in the pipeline (suppression + dedup on entry).
- cognilead.run_campaign — gated. Kicks off an outbound campaign by id with an optional lead filter.
- cognilead.suppress — gated. Adds an email or domain to the suppression list.
A gated cognilead.generate_seo_content tool is also exposed for AI content scaffolding (see §2). Targeting is customer-supplied — you bring the leads (see §4).
Why MCP at all
Developers discover CogniLead inside their IDE, not from an ad. The free tools cost only the phi-cloud tokens they consume, and the gated tools return a 401 with an inline signup URL so the conversion path is built into the call. See /mcp for the install command.
HTTP API
A narrow HTTP API under /api/v1 covering lead intake, sends, content scaffolding, and suppression. Authenticated with per-tenant pk_live / sk_live key pairs.
The API surface is the same set of capabilities the dashboard and the MCP server expose, reachable over HTTP. The contract is published early so tenants can build against it; the official TypeScript and Python SDKs follow.
Endpoints
POST /api/v1/leads
GET /api/v1/leads
GET /api/v1/sends
POST /api/v1/seo/generate
GET /api/v1/suppressions
POST /api/v1/suppressionsAuthentication
Per-tenant pk_live_* (publishable) and sk_live_* (secret) keys. Argon2id hash at rest. Last-4 displayed only at creation. Both ride in Authorization: Bearer <key>. Rotation reminders fire at 90 days; secret keys are revocable on a 60-second propagation window.
SEO generation
POST /api/v1/seo/generate is the workhorse endpoint — it backs lib/seo/generate.ts and returns the generated blog or landing page plus the on-page recommendations. It is the one endpoint also exposed free (and capped) through the MCP server.
Free content-scaffolding tools run inside Cursor or Claude Desktop — no key required.