I Automated 800 Leads/Day, 3 AI Agents, and 5 YouTube Tutorials — Here's the Full Stack
I Automated 800 Leads/Day, 3 AI Agents, and 5 YouTube Tutorials — Here's the Full Stack
Posted by Joseph Brasseur — Cyber Cowboys
Over the past week I built and shipped a full AI automation stack from scratch. Five tutorial videos live on YouTube, 800+ leads per day automated, 3 AI agents running 24/7 on a $7/month VPS, and a full dental office AI system. Here's the complete breakdown.
The Stack
AI Layer: Claude (Anthropic) + Groq (llama-3.3-70b) + ElevenLabs TTS
Backend: Node.js, Python, BullMQ job queues
Server: IONOS VPS Ubuntu — $7/month, 125GB RAM
Email: Brevo SMTP — 300 free emails/day
Video: FFmpeg Ken Burns + ElevenLabs audio
Auth: Google OAuth 2.0 (saved token — no re-auth ever)
Deploy: PM2, Nginx, Let's Encrypt SSL
Tutorial 1: I Automated 800 Leads/Day with Python + Claude AI
The lead generation pipeline:
- Python scrapes LinkedIn/directories via Playwright stealth
- Claude AI scores each lead 1-10 for fit
- Personalized cold email generated (Brevo sends 280/day free)
- All logged to SQLite — full audit trail
# Core scoring call
response = client.messages.create(
model="claude-3-haiku-20240307",
max_tokens=512,
messages=[{
"role": "user",
"content": f"Score this lead 1-10 for AI automation services: {lead_data}"
}]
)
score = int(response.content[0].text.strip())
Result: 800+ leads scored per day. $0 API cost on Haiku. Watch the full tutorial →
Tutorial 2: 3 AI Agents Running 24/7 for $7/Month
Three autonomous agents on one VPS:
- LeadGen Agent — scrapes + scores + emails
- Newsletter Agent — curates AI news, sends weekly
- CyberSec Agent — scans server, watches for anomalies
All managed by PM2 (process manager) with BullMQ for job queues. Redis as the shared message bus.
# Start all 3 agents
pm2 start ecosystem.config.js
pm2 save
pm2 startup # Survive reboots
# Monitor
pm2 monit
Total cost: $7/month IONOS VPS. Free Redis. Watch the tutorial →
Tutorial 3: Send 280 Cold Emails/Day FREE — Brevo + Claude AI
Brevo's free tier: 300 emails/day, no credit card required.
import smtplib
from email.mime.text import MIMEText
def send_email(to, subject, body, from_email="outreach@cybercowboys.io"):
msg = MIMEText(body, 'html')
msg['Subject'] = subject
msg['From'] = from_email
msg['To'] = to
with smtplib.SMTP_SSL('smtp-relay.brevo.com', 465) as server:
server.login(BREVO_LOGIN, BREVO_KEY)
server.send_message(msg)
Claude generates the personalized body. Brevo sends it. Watch →
Tutorial 4: Build an AI Agent in Python — Zero to Deployed in 1 Hour
The MAPE loop pattern I use for every agent:
- Monitor: Check for new data/events
- Analyze: Claude/Groq evaluates what matters
- Plan: Decide what action to take
- Execute: Send email, log to DB, trigger webhook
class AIAgent:
def mape_loop(self):
while True:
data = self.monitor() # Check new leads/events
analysis = self.analyze(data) # Claude scores
plan = self.plan(analysis) # What to do
self.execute(plan) # Send, log, alert
time.sleep(60) # Run every minute
Tutorial 5: $7/Month VPS — Node.js + PM2 + Nginx + SSL
# Full server setup in 10 commands
apt update && apt install -y nodejs npm nginx certbot python3-certbot-nginx
npm install -g pm2
pm2 start app.js --name my-app
pm2 startup && pm2 save
# Nginx + SSL
certbot --nginx -d yourdomain.com
# Done. Production-ready. Forever.
The Genesis Dental Agent (Bonus Project)
Built a full autonomous dental office AI — 7 BullMQ workers:
- Recall Engine — contacts overdue patients
- AR Recovery — chases unpaid balances
- Morning Huddle — AI briefing at 6am
- Treatment Activation — follows up stale treatment plans
- Insurance Pre-Auth — flags procedures needing pre-auth
- New Patient Onboarding — welcome sequence
- MedDental Bridge — queues complex billing to billing agent
All running on the same $7/month server. Same MAPE loop. Groq for fast screening, Claude for deep analysis.
Open Source
All scripts on GitHub: github.com/JosephBrasseur/cyber-cowboys-pipeline
Subscribe for weekly builds: YouTube @JosephBrasseur
Tags: python, ai, automation, tutorial, webdev
Top comments (0)