System 2 of 4

24/7 AI sales development engine

Researches prospects, writes and sends personalized outreach, classifies replies, runs follow-up sequences, and answers inbound quote requests for a B2B wholesale ingredients business. Every irreversible action sits behind a human approval gate.

In production, 24/7, live revenue

Role
Sole architect and operator
Stack
Python async, FastAPI, SQLAlchemy 2.0, PostgreSQL + pgvector, Claude API, Voyage embeddings, Gmail API, Telegram Bot API, APScheduler, systemd
Infrastructure
~$34/month, one small Linux VM
Part of
~25,000 lines of code replacing CRM, ERP, helpdesk, and SDR software
Outcome
Collections from under $4K to a record $37.8K in a single month within 90 days, at 38% gross margin

Problem

A new wholesale business with one person running it. The conventional stack is a sales team, an ops coordinator, a support rep, and a set of SaaS contracts. I wanted the volume work done by AI and every action that touches a customer gated by a human, so that the system could run around the clock without ever fabricating a product claim or sending something I had not seen.

Architecture

  1. Prospect ingestion and researchEach prospect gets an AI research pass over its website before any outreach is drafted.
  2. Personalized first touchInbox round-robin across warmed sending accounts, a warmup ramp, per-day frequency caps, sending-hours windows, and bounce-rate auto-pause.
  3. Reply detection and classificationReplies are classified by the Claude API as interested, buying signal, knowledge wall, not interested, or hostile, and routed accordingly.
  4. Draft-first responses and sequencingMulti-touch follow-ups with distinct angles, auto-cancelled the moment a prospect replies. Scheduled sends re-draft themselves if the thread has moved.
  5. Buying-signal handoffProspects showing intent are handed to me with the thread, and a daily digest summarizes everything else.
  6. Inbound quote requestsStorefront form to HMAC-verified webhook to spam filter to a Claude-drafted quote to a Telegram approve, edit, or reject prompt to a delayed send. If nothing is approved within four hours, the quote saves to drafts instead of sending.

Ten scheduled jobs, an eleven-table data model with explicit status machines, suppression lists, protected contacts, and a 604-entry RAG knowledge base synced nightly from the product catalog.

Controls that let an AI write to customers

Numbers

Monthly collectionsunder $4K to a record $37.8K, within 90 days
Gross margin38%
Active pipeline35 companies, quotes up to $218K
Infrastructure cost~$34/month
Operational stack replacing CRM, ERP, helpdesk, SDR~25,000 lines of code
RAG knowledge base604 entries
Scheduled jobs10
Revenue and margin figures appear on my resume. Collections are cash received, not bookings.

The operational stack around it

The engine is one service in a set of tools I built so the business could run without CRM, ERP, helpdesk, or SDR software: