Tools: I Automated 800 Leads/Day, 3 AI Agents, and 5 YouTube Tutorials — Full Stack Breakdown

Tools: I Automated 800 Leads/Day, 3 AI Agents, and 5 YouTube Tutorials — Full Stack Breakdown

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

The Stack

Tutorial 1: I Automated 800 Leads/Day with Python + Claude AI

Tutorial 2: 3 AI Agents Running 24/7 for $7/Month

Tutorial 3: Send 280 Cold Emails/Day FREE — Brevo + Claude AI

Tutorial 4: Build an AI Agent in Python — Zero to Deployed in 1 Hour

Tutorial 5: $7/Month VPS — Node.js + PM2 + Nginx + SSL

The Genesis Dental Agent (Bonus Project) 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 lead generation pipeline: Result: 800+ leads scored per day. $0 API cost on Haiku. Watch the full tutorial → Three autonomous agents on one VPS: All managed by PM2 (process manager) with BullMQ for job queues. Redis as the shared message bus. Total cost: $7/month IONOS VPS. Free Redis. Watch the tutorial → Brevo's free tier: 300 emails/day, no credit card required. Claude generates the personalized body. Brevo sends it. Watch → The MAPE loop pattern I use for every agent: Built a full autonomous dental office AI — 7 BullMQ workers: All running on the same $7/month server. Same MAPE loop. Groq for fast screening, Claude for deep analysis. All scripts on GitHub: github.com/JosephBrasseur/cyber-cowboys-pipeline Subscribe for weekly builds: YouTube @JosephBrasseur Tags: python, ai, automation, tutorial, webdev Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Code Block

Copy

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 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 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 # 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()) # 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()) # 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()) # Start all 3 agents pm2 start ecosystem.config.js pm2 save pm2 startup # Survive reboots # Monitor pm2 monit # Start all 3 agents pm2 start ecosystem.config.js pm2 save pm2 startup # Survive reboots # Monitor pm2 monit # Start all 3 agents pm2 start ecosystem.config.js pm2 save pm2 startup # Survive reboots # Monitor pm2 monit import smtplib from email.mime.text import MIMEText def send_email(to, subject, body, from_email="[email protected]"): 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) import smtplib from email.mime.text import MIMEText def send_email(to, subject, body, from_email="[email protected]"): 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) import smtplib from email.mime.text import MIMEText def send_email(to, subject, body, from_email="[email protected]"): 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) 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 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 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 # 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. # 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. # 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. - 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 - LeadGen Agent — scrapes + scores + emails - Newsletter Agent — curates AI news, sends weekly - CyberSec Agent — scans server, watches for anomalies - 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 - 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