Atlas Argos — Lead Generation Platform
AI-powered platform that finds local businesses without websites, identifies decision-makers, builds custom preview sites, records video walkthroughs, and delivers everything as sales collateral.
The Value Proposition
Small businesses without websites are leaving money on the table. Argos finds them, identifies who to talk to, builds them a free preview website, and records a video walkthrough — all before the first cold email goes out. By the time we reach out, we've already done the work.
Stack
- Backend: FastAPI (Python)
- Database: Supabase (PostgreSQL + RLS)
- Frontend: Next.js + TypeScript + Tailwind
- AI: Claude Sonnet 4.6 (site generation)
- Hosting: Vercel (free tier)
- Video: Cloudflare R2
Integrations
- Apollo.io — People search + enrichment
- Google Maps — Business discovery
- OpenAI — Design briefs (GPT-4o Vision)
- Hunter.io — Email verification
- Proxycurl — LinkedIn data
- n8n — Outreach automation
The Full Pipeline
From zero to outreach-ready in 5 automated steps. Each stage feeds the next.
Pipeline Stages
- Lead DiscoveryGoogle Maps scraping finds businesses with no website. Scored by outreach readiness (phone present, reviews, category).
- Decision Maker EnrichmentApollo.io identifies owners/managers with verified emails. Multi-source cascade (Apollo → Hunter → Proxycurl).
- AI Website GenerationClaude Sonnet 4.6 generates a unique one-page site. GPT-4o Vision creates the design brief from inspiration sources. Deployed to atlasmindspreview.com via Vercel. ~60-90 seconds.
- Video WalkthroughAutomated 90-second screen recording of the deployed site. Uploaded to Cloudflare R2 with signed URLs.
- CRM & OutreachContact management, draft emails with the preview link + video, webhook to n8n for automated sequences.
Lead Discovery
Google Maps scraping engine that finds local businesses without websites and scores them for outreach readiness.
How It Works
- Search ParametersEnter a business category (e.g., "plumber") and location (e.g., "Springfield, MA"). The scraper queries Google Maps.
- Filter: No WebsiteBusinesses with existing websites are filtered out. Only those without a web presence are kept.
- Intent ScoringEach lead is scored on: phone number present, number of reviews, business category, Google rating, and profile completeness.
- Save to DatabaseQualified leads are saved to Supabase with all scraped data — name, address, phone, category, rating, reviews.
Key Engine: gmaps_scraper.py
| Data Captured | |
|---|---|
| Business Name | Full name from Google Maps listing |
| Address | Full street address + city/state/zip |
| Phone | Primary business phone (if listed) |
| Category | Google Maps business category |
| Rating / Reviews | Star rating and review count |
| Place ID | Unique Google identifier for deduplication |
Key Engine: intent_scoring.py
Leads are prioritized so the best opportunities get outreach first. Higher scores = higher likelihood of conversion.
Enrichment Engine
Multi-source cascade that finds decision-makers, verified emails, and business context.
apollo_search.py
Searches Apollo.io's database by company name + location. Returns potential contacts with titles like Owner, CEO, President, Manager.
- Filters by seniority (Owner/Founder first)
- Returns name, title, email, phone, LinkedIn
apollo_enrich.py
Takes a contact and enriches with verified data. Confirms email deliverability, pulls additional context.
- Email verification status
- Company size and revenue estimates
- Social profiles
enrichment_cascade.py
Orchestrates the multi-source pipeline. If Apollo doesn't find a contact, falls back to Hunter.io for email finding, then Proxycurl for LinkedIn data. The cascade ensures maximum coverage.
intel_engine.py
Intelligence gathering — scans for additional business context: social media presence, competitor analysis, business registration data. Feeds into the AI website generation to make sites more personalized.
Forge: AI Website Generation
Claude Sonnet 4.6 generates a unique one-page website for each lead. 15 distinct design aesthetics — no two sites look alike. Deployed to atlasmindspreview.com in ~60-90 seconds.
Design Variety System
15 aesthetic directions mapped to business niches. The system randomizes inspiration sourcing from 8 design galleries with varied queries, sort modes, and scroll positions.
Dark, cinematic
Earthy, organic
Clean, cool tones
Bold, vibrant
Natural, handmade
Mapped to niches
Generation Pipeline
- Design Brief (GPT-4o Vision)Analyzes business category + inspiration screenshots to create a detailed design brief
- Page Generation (Claude Sonnet 4.6)Generates complete React/Next.js page code — custom layout, copy, styling, responsive design
- Build & Deploy (Vercel)Next.js template receives the generated page, builds, deploys to {business}.atlasmindspreview.com
- Domain Self-HealingDetects orphaned custom domains on stale Vercel projects and auto-cleans
Edit Pipeline
Users can edit deployed sites from the dashboard:
- Quick edit (tagline/phone): Env var update + Vercel redeploy (~30-45s)
- Full AI redesign: Claude Sonnet 4.6 regeneration + build + deploy (~60-90s)
- Preview iframe auto-refreshes with "Redeploying..." indicator
Key Files
| Forge Engine | |
|---|---|
| forge/design_ai.py | Claude Sonnet 4.6 website generation (41KB) |
| forge/design_scout.py | Inspiration sourcing from 8 design galleries |
| forge/template/ | Next.js template for generated sites |
| backend/tools/forge_engine.py | Orchestrator — coordinates design + build + deploy |
Video Walkthroughs
Automated 90-second screen recordings of each deployed preview site. Uploaded to Cloudflare R2 with signed URLs for email delivery.
Key File: forge/video_recorder.py
Headless browser scrolls through the deployed site, recording a smooth walkthrough. The video shows the prospect exactly what their site looks like — mobile responsive, animations, everything.
- Auto-scrolls through all sections
- Captures responsive design
- Uploads to Cloudflare R2 with 30-day lifecycle
- Returns signed URL for embedding in outreach emails
Managed Clients
Once a lead converts, they become a managed client. Full lifecycle management — profiles, sites, invoicing, contracts, activity logs.
Client Management Features
Client Profiles
- Contact info, business details
- Activity log (auto-tracked)
- Notes and status tracking
Site Management
- Multiple sites per client
- AI edit pipeline (tagline, full redesign)
- Deployment status monitoring
Forge → Client Conversion
Dual-path modal: when a lead's preview site gets traction, convert them to a managed client. Two options:
- Create new client — Auto-populates from lead data
- Attach to existing client — Link site to an existing client record
Invoicing
- Auto-numbered invoices
- Per-client invoice history
- Status tracking (Draft → Sent → Paid)
Contracts
- Contract generation
- Template-based
- Linked to client profile
Key Engine: managed_client_engine.py
CRUD operations, site management, invoice numbering, activity log tracking. Integrates with the handoff engine for automated onboarding workflows.
CRM & Outreach
Contact management, draft emails with preview links and videos, webhook integration with n8n for automated sequences.
Outreach Workflow
- Lead has site + video + contactAll collateral is ready from the pipeline
- Draft personalized emailIncludes preview site link, video walkthrough link, and personalized copy
- Review & sendDashboard shows draft emails for review before sending
- Automated follow-ups via n8nWebhook triggers n8n workflows for follow-up sequences
Key Engine: handoff_engine.py
Manages the lead handoff and outreach workflow. Coordinates between the CRM, email drafting, and n8n webhook triggers.
Architecture & Key Files
Single-file FastAPI backend with modular engines. JWT auth via Supabase. 14 database migrations.
Backend Structure
| Key Files | |
|---|---|
| backend/main.py | All FastAPI endpoints (112KB, single file). JWT auth via Supabase get_current_user. |
| backend/database.py | Supabase database layer |
| backend/tools/gmaps_scraper.py | Google Maps scraping engine |
| backend/tools/apollo_search.py | Apollo.io people discovery |
| backend/tools/apollo_enrich.py | Apollo.io contact enrichment |
| backend/tools/forge_engine.py | AI website generation orchestrator |
| backend/tools/handoff_engine.py | Lead handoff and outreach |
| backend/tools/intel_engine.py | Intelligence gathering |
| backend/tools/intent_scoring.py | Lead scoring and prioritization |
| backend/tools/enrichment_cascade.py | Multi-source enrichment pipeline |
| backend/tools/managed_client_engine.py | Client management |
| forge/design_ai.py | Claude Sonnet 4.6 site generation (41KB) |
| forge/design_scout.py | Design inspiration sourcing |
| forge/video_recorder.py | Automated video walkthroughs |
| backend/migrations/ | 14 SQL migration files (001-014) |
Security
- All user-facing endpoints require JWT auth via
get_current_user - All API keys stored in
backend/.env - Supabase Row Level Security (RLS) on all tables
- Frontend runs on port 3002 (separate git repo)
Database Migrations
14 SQL migration files in backend/migrations/. Migrations 001-011 are applied. Migration 012 (page code persistence) is pending. Migrations 013-014 handle managed clients and invoicing.