Inspiration

Manually digging through agency websites, pasting bios into spreadsheets, and debating whether a shop is “auto-heavy enough” burned entire days. We wanted a button that says “buy” or “pass” before the coffee goes cold—and the Bolt Hackathon gave us the perfect excuse to build it.

What it does

Agency Lens crawls an insurance-agency site (or a list of sites), feeds the content to an LLM, scores independence, auto focus, head-count fit, and spits out a ranked report. Open the dashboard and you get an instant, filterable shortlist—no spreadsheets, no guesswork.

How we built it

  • Bolt.one-prompt scaffolding: one prompt generated the React front-end, Supabase tables, and edge functions in a single pass.
  • Cheerio crawler: pulls HTML, slices it into clean 8 k-char chunks.
  • OpenAI responses API: uses a saved prompt ID, forces response_format: json_object to keep output strict.
  • Merge+Score prompt: applies a 13-point rubric and assigns rank.
  • Supabase: settings table for keys/weights, agency_reports for JSON results.
  • Dashboard: React + Tailwind—filters, CSV export, manual override, “Built on Bolt” badge on every page.

Challenges we ran into

Parsing messy HTML (nested
soup) took heavier regex than planned, and missing the anon key in our edge-function headers produced a parade of 401s before we noticed, auth issues when not explicitly mentioning strategy on prompt.

Accomplishments that we're proud of

We went from zero repo to working triage tool in less than 48 hours (after learning of bolt's free weekend). Bolt’s one-prompt generation felt like cheating. Our whole stack was live immediately.

What we learned

  • Forcing JSON with response_format: json_object is non-negotiable for clean data.
  • .maybeSingle() is the painless way to dodge first-run crashes when a settings row isn’t there.
  • A tight two-prompt chain (extract → score) beats a single mega-prompt on both speed and token cost.

What's next for Agency Lens

Bulk-email module to outreach principals directly, integrating into tools like zoominfo to obtain contact details, and tuning the rubric weights by line of business so the score fits other niches outside auto.

Built With

  • bolt
  • openai
  • supabase
Share this project:

Updates