DomainFlow.ai — AI Domain-Sales Automation

6/24/2026

DomainFlow.ai — AI Domain-Sales Automation

Screenshots below are from the live product with customer data (domains, buyer names, companies, emails, and figures) intentionally blurred.

Overview

DomainFlow.ai is a full‑stack SaaS platform that automates the entire premium domain‑sales outreach workflow. Portfolio owners and brokers upload their domains; the platform uses AI to research likely buyers, generate personalized email pitches with follow‑up sequences, run multi‑step drip campaigns with deliverability/warmup management, and track every opportunity from first touch through escrow to a closed deal — all from one operator dashboard.

Dashboard — KPIs across the whole portfolio

Architecture

  • Frontend (client/): React 19 + Vite 7 + Tailwind 4, React Router 7, Axios, Stripe.js. A single SPA that also hosts the admin under role‑gated /admin/* routes
  • Backend (server/): Express 5 + MongoDB (Mongoose 9), JWT auth, Nodemailer, Multer/csv/xlsx upload
  • Async engine: Redis + BullMQ workers process the heavy, rate‑limited work off the request path — buyer research, pitch generation, warmup scheduling, and campaign monitoring
  • Multi‑tenant: row‑level isolation by ownerId, with admin override for cross‑tenant operations
[client]  → Dashboard, Upload, Domain Manager, Leads, Pitches, Campaigns,
            Deals, Escrow, Billing, Preferences + Admin/* (warmup, costs, health…)
[workers] → simplifiedResearch · advancedResearch · simplifiedPitch · advancedPitch
            warmupWorker · campaignWorker · campaignMonitorWorker · leadPitch
[models]  → User, Subscription, CreditLedger, Domain, Lead, Deal, Campaign,
            SendingAccount, SendingDomain, Escrow, Commission, Invoice, CostEntry

Domain Portfolio & Management

  • Upload single domains or bulk CSV/XLSX with asking price, floor price, discount %, and portfolio tags
  • Domain Manager: searchable, filterable catalog with per‑domain status progression (Uploaded → In Research → Research Complete → Pitch → Outbound → Finished), bulk actions (research, generate pitches, schedule campaigns, change status)
  • Domain detail: per‑domain leads, pitches, campaigns, deals, and cost breakdown in one place, with research/throttle configuration

Domain Manager — catalog with bulk actions

Domain detail — research, pitches, campaigns & costs per domain

AI Buyer Research & Pitch Generation

  • Buyer discovery in two tiers: a simplified mode (Perplexity finds candidate buyer companies, RocketReach enriches decision‑maker contacts) and an advanced mode that adds SerpAPI verification, strategic‑fit scoring, buyer ranking, and TLD‑variant analysis
  • Personalized pitches via OpenAI (gpt-4o-mini): two sender personas, Instantly placeholders ({{first_name}}, {{company_name}}), spintax for per‑send uniqueness, and multi‑step follow‑up sequences
  • Lead Approval Queue: every AI‑generated lead is scored (fit) and reviewed before it can go out — bulk approve/reject, inline pitch editing, and one‑click regeneration

Lead Approval Queue — AI‑scored buyers awaiting review

Email Campaigns & Deliverability

  • Campaign sync pushes approved leads into Instantly.ai as scheduled drip campaigns, then continuously pulls back analytics (sends, opens, replies, bounces, unsubscribes)
  • Warmup Manager: sending accounts ramp through health‑aware phases (not started → warming up → warm → cold ramp → fully active → recovery) with per‑account daily limits, health scores, and bounce tracking
  • Sending‑domain DNS: SPF / MX / DMARC / CNAME setup and verification through the Cloudflare and Namecheap APIs to protect deliverability

Campaign Stats — live analytics synced from Instantly.ai

Warmup Manager — health‑aware ramp‑up per sending account

Sending Domains — DNS authentication & health

Deals, Escrow & Billing

  • Deal pipeline: track prospects through lead → interested → negotiating → closed‑won/lost, with offer/final pricing and logged meetings
  • Stripe escrow: fund (PaymentIntent), release (capture + transfer), dispute, and refund flows, with Connect commission tracking per deal
  • Subscription billing: tiered plans with a per‑user credit wallet and an append‑only credit ledger; every paid operation (research, pitch, sync) is metered against credits

Advanced Implementation

Async pipeline (BullMQ workers)

// server — heavy, rate-limited work runs off the request path
researchQueue.add('advanced', { domainId, ownerId });
new Worker('advancedResearch', async (job) => {
  const buyers = await perplexity.discover(job.data);      // + SerpAPI verify
  const contacts = await rocketreach.enrich(buyers);       // decision-makers
  await Lead.insertMany(scoreAndRank(buyers, contacts));   // fit scoring
});

Cost metering per operation

// every external call is recorded for per-service / per-domain cost analytics
await CostEntry.create({ domainRef, service: 'openai', operation: 'pitch', units, unitCost, totalCost, phase });

What made it work

  • A clean separation between synchronous UX (dashboard, approvals, deals) and asynchronous heavy lifting (research, pitching, warmup) via Redis/BullMQ
  • AI used where it compounds — buyer discovery and pitch drafting — but always behind a human approval gate
  • Deliverability treated as a first‑class concern: warmup phases, DNS authentication, and account health baked into the campaign engine
  • Full cost and credit accounting, so every AI/API operation is metered, attributable, and billable

Deliverables

  • Domain portfolio management (single + bulk CSV/XLSX upload)
  • AI buyer research (Perplexity + SerpAPI + RocketReach)
  • Personalized pitch generation with follow-up sequences (OpenAI)
  • Email campaigns + warmup & deliverability (Instantly.ai, Cloudflare/Namecheap DNS)
  • Deal pipeline, Stripe escrow, commissions & subscription billing
  • Admin console (users, costs, system health, sending accounts)

Links