A production-grade demand generation system for a premium Ecuadorian snack exporter. Pulls buyer intent signals from 50+ news feeds, scrapes 6+ trade data sources across 19 countries, enriches and scores leads against 28 weighted factors, runs multi-language email sequences through Smartlead with GDPR-compliant voice rules, tracks deliverability in a real-time dashboard, and includes a React marketing website. Since June it also runs the reply-to-deal follow-up, first-party open tracking, and a bookkeeping engine that matches eight months of spending against tax-authority invoices.
An Ecuadorian snack manufacturer (vacuum-fried plantain and vegetable chips, 60% less fat than traditional fried snacks, HACCP-certified, premium positioning at $15–20/kg FOB) needs to find and convert distributors in Europe, North America, and emerging Asian markets. The problem is not “send cold emails.” The problem is an entire trade operation: figure out which countries allow 0% duty for Ecuadorian origin (EU, UK, Canada under FTAs); find real importers of competing products using bill-of-lading data; navigate GDPR and country-specific compliance; write in the buyer’s native language (Dutch inboxes respond 3x better than English); warm up sending domains for 21 days before the first real email; survive spam-complaint thresholds; handle sample shipment logistics from Spain or Ecuador when a real prospect replies. Generic lead-gen tooling doesn’t do any of this.
A single folder with 30+ tools, 7 numbered workflows, a React dashboard, a React website, a signal scanner running daily, and a reference library of trade knowledge (compliance by country, send-time by country, pitch positioning, tariff advantages). The system runs end to end:
On top of all that:
signals.csv (14,453 signals tracked), and auto-upgrades existing leads with +25 points when intent is detected, potentially jumping them a tier.website/): React + TypeScript + Vite + Tailwind + shadcn/ui, built on Lovable. Functions as the credibility landing page referenced from cold emails.dashboard/): React + TypeScript + Vite. Two tabs: Build (tasks, sprints, goals) and Ops (real-time Smartlead metrics: warmup day countdown, campaign status by tier, inbox placement, bounce/open/reply rates, alerts on red-flag thresholds). Syncs state every 60 seconds from Python scripts.Master lead database: 850+ companies. Signal database: 14,453 intent signals logged.
Latin America joined Europe. In May the sequencer gained send windows and first-touch times for Mexico, Colombia and Chile, with templates rewritten in my own warm-reply voice. The lead scorer gained Latin American signal weights, and the tariff notes were corrected for Canada’s free-trade agreement with Ecuador and Mexico’s ALADI (Latin American Integration Association) terms.
A reply is now the start of a process. A reply-to-deal cadence engine schedules every follow-up after a buyer answers, and an SLA monitor flags replies that have waited too long. The dashboard reads the same records, so its numbers match the pipeline.
Every email is checked before it goes. A pre-send copy linter catches broken merges, such as a greeting that rendered as “I see Saw…”. A per-lead sender override lets a second approach come from a different mailbox.
Subject lines are chosen by rules. A subject-line engine exports each lead’s context, collects candidate subjects, and ranks them by signal, question form, country of origin and length. A deterministic linter blocks spam words, over-length lines and brand-rule breaks. One winner is stored per lead and previewed before sending.
Opens are tracked on our own domain. The first email is sent as text plus light HTML with a first-party tracking pixel. A Cloudflare Pages Function serves the pixel and logs the open to a Cloudflare D1 database. A puller brings opens back into the pipeline, filtering bots and duplicates.
The company’s books are reconciled by code. In September I built a pipeline that matches all spending from January to August 2026 against the electronic invoices registered with the SRI (Ecuador’s tax authority). It reads five sources: bank statements, payment orders from the bank portal, SRI invoice exports, my petty-cash sheet and a colleague’s cash receipts sent over WhatsApp. It publishes a 483-row ledger to Google Sheets with ten controls and seven audits, and all ten controls passed on 2 September. The rule behind it: the engine proposes, the outside sources decide, and nothing is dropped silently. A value audit re-reads the published Sheet after every publish.
Container costing reads the published sheet. A costing tool prices a full container against the pricing framework. Its checker reads the published Sheet, so it catches layout and reading errors as well as wrong numbers.
One wiki holds the operating memory. Session handoffs land in an inbox and are filed into wiki pages by topic, including a new Finance section.
Real-time Smartlead performance, warmup day, campaign-by-tier status, bounce/open/reply, spam-complaint thresholds with visual alerts.
50+ news feeds parsed daily. 14,453 intent signals logged. Existing leads auto-upgrade when intent is detected.
React + Tailwind credibility site, referenced from every cold email.
Stack: Python 3 (BeautifulSoup, Requests, pandas, email-validator, python-dotenv) for scrapers, enrichers, scorers, Smartlead syncers; React + TypeScript + Vite + Tailwind + shadcn/ui for the website and dashboard; Smartlead for email delivery; Apollo + Hunter + ImportYeti + Volza + UK Trade Info for lead data; MailReach + MXToolbox + dmarcian for deliverability.
Architecture: WAT framework (Workflows / Agents / Tools). 7 numbered workflows in workflows/ guide the agent through each pipeline stage. tools/ holds the 30+ Python scripts. State lives in CSV and JSON files that the dashboard reads every 60 seconds. No database: the filesystem is the database.
signals.csv, scroll through 14,453 entries and show how intent signals tie back to the scoring pipeline.ref_compliance_by_country.md, show the 11-country legal-basis matrix. This is where generic lead-gen tools stop and a real trade operation begins..env secrets (API keys, Smartlead tokens, DKIM keys) must never leave the project: the folder itself stays private; only this portfolio doc is public.“This is what B2B export looks like when you run it like an engineering team. Every country has its own compliance and language rules. Every lead is scored against 28 weighted factors. Every signal from the news gets logged and used to upgrade prospects over time. Email delivery is warmed up for 21 days before the first real send. The website is referenced from every email. The dashboard tells us in real time whether the domain is healthy or getting burned. Most agencies charge 5 to 10 grand a month to do a worse version of this.”