Own project
WebSnipe
An AI agent pipeline that finds local businesses with weak websites, researches each one, and drafts outreach and a preview site.
shippedApr 2026
My roleSolo engineer
- businesses found and scored
- 70
- businesses found and scored
- fully researched, with call scripts
- 58
- fully researched, with call scripts
- Dallas-area cities covered
- ~20
- Dallas-area cities covered
01The problem
Finding local businesses that need a better website, researching each one, and writing outreach that doesn't read like spam takes hours per business. I wanted a pipeline that does the research and drafting, so a person only reviews and sends.
02What I built
- Scout: searches a trade and a city, checks each business's website, and scores the lead
- Research: pulls review themes, services, and nearby competitors that do have websites
- Outreach: writes a three-email sequence, a call script with objection handling, and talking points
- Find emails and build a preview site: contact emails from public listings, and a one-page site for interested leads
- Each stage runs as a supervised background process that a Streamlit dashboard monitors, with all state in SQLite
03Key decisions
Match each model to the task
- Why
- Scouting and research are high-volume; outreach is the part a business owner actually reads.
- Result
- Sonnet handles scouting and research. Opus writes the outreach.
Skip leads that aren't worth researching
- Why
- Franchises, businesses with fewer than 5 reviews, and fake lead-generation listings waste research time.
- Result
- The scout filters them out and scores the rest, so no cold leads were ever researched.
One shared database, accessed one way
- Why
- Separate agent stages running on their own could overwrite each other's data.
- Result
- Every stage reads and writes through the same small set of helper scripts.
04Results
- 70 businesses found and scored across 5 campaigns: 43 hot, 27 warm
- 58 fully researched, with call scripts and talking points
- 35 contact emails found, for electricians, HVAC companies, and plumbers
05What I learned
- An agent's output is only useful if the next stage can rely on its shape, so every stage writes the same fields.
- Model choice matters most at the step a person actually reads.
06Stack
- Python
- Streamlit
- SQLite
- Claude Code (Sonnet and Opus)
want the longer version?
I'm happy to walk through how I built it.