All work

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.