S
All projects
SaaS Platform2025·Architect & Engineer

AI Marketing Platform

AI Outbound Sales & Marketing Platform

An outbound sales and marketing platform that manages leads and HR prospects, drafts AI outreach, routes it through an approval queue, and tracks campaigns — architected to grow into a full CRM.

Lead management HR prospect workflows AI-generated outreach drafts Approval queue Campaign tracking CRM-ready architecture Compliance-aware outreach

AI-assisted

Drafting

100%

Review

CRM-ready

Architecture

Roadmap

Channels

Business challenge

Sales teams waste hours researching leads and writing repetitive outreach, while generic automation risks brand trust and compliance — no message should go out unreviewed.

What I built

I built lead and HR-prospect management, AI-drafted outreach grounded in enriched data, and an approval queue that requires human sign-off before send. Campaigns are tracked, and the architecture is CRM-ready with a multi-channel roadmap.

Why it matters

Outbound at scale only works if it's personalized and compliant. The platform had to make reps faster without ever letting AI send unreviewed messages, and leave clean seams for CRM growth.

How it's designed

01Client
Next.js DashboardApproval UI
02Services
Lead MgmtGenerationApproval Engine
03AI
Local LLMGroundingTemplates
04Data
PostgreSQLRedis Queue

Interface

Screenshot placeholder — drop product UI here

How the intelligence flows

  1. 01Enrich — assemble verified signals per lead/prospect.
  2. 02Draft — AI-generated outreach grounded in enrichment data.
  3. 03Review — approval queue with edit-before-send.
  4. 04Track — campaign status and engagement.

How data is modeled

  • PostgreSQL: leads, prospects, campaigns, messages and approvals.
  • Approval state machine (draft → pending → approved → sent).
  • Redis queue for generation and send scheduling.
  • Send-history audit for compliance.

Key endpoints

POST/api/leadsCreate and enrich a lead or HR prospect.
POST/api/outreach/draftGenerate a grounded outreach draft.
POST/api/outreach/{id}/approveApprove a draft for sending.
GET/api/campaignsCampaign tracking and status.

Technologies

Next.jsFastAPILocal LLMPostgreSQLRedisDocker

Key features

  • Lead and HR-prospect management.
  • AI-drafted, grounded outreach.
  • Approval queue with edit-before-send.
  • Campaign tracking.
  • CRM-ready, extensible architecture.
  • Compliance-aware send history.

Challenges & trade-offs

Personalization without hallucination

Grounding generation in verified enrichment data kept messages accurate and on-brand.

Human approval as a hard gate

An approval workflow ensures no AI-generated message reaches a customer unreviewed.

Code snippet

Approval-gated outreachpython
async def draft_outreach(lead: Lead) -> Draft:
    facts = await enrich(lead)               # verified signals only
    body  = await llm.generate(              # local LLM, grounded
        persona=lead.persona, facts=facts,
    )
    return Draft(
        lead_id=lead.id,
        body=body,
        status="pending_approval",           # never auto-sends
        grounded_on=[f.source for f in facts],
    )

How it ships

  • Containerized services on a managed platform.
  • Queue-backed generation to keep the UI responsive.

Security

  • Role-based approvals with full send-history audit.
  • Encrypted storage of lead and campaign data.

Scalability

  • Generation workers scale with campaign volume.
  • Caching of enrichment results to reduce repeat cost.

Future roadmap

Native CRM integrations (HubSpot, Salesforce).
Multi-channel sequences with adaptive timing.
A/B testing of AI-generated variants.

Lessons learned

Keeping a human in the approval loop is what makes AI outreach safe to ship.