Inspiration
As an AI automation freelancer myself, the hardest part isn't building automations — it's finding businesses that need them and proving the value before they'll pay attention. Cold outreach with no proof gets ignored. I wanted an agent that does the research, builds a real working demo tailored to a specific business, and only then reaches out — so the first message a business sees is already backed by proof, not a pitch.
What it does
Scout takes a niche and location, then finds:
Researches the business and infers a likely automation pain point (e.g., no way to capture inbound leads automatically)
Builds a live working demo: a real form submission flows into an Airtable CRM record and triggers a personalized follow-up email and slack notification — using Playwright to actually fill and submit the business's real intake form as the trigger
Captures proof: screenshots of the filled form, the CRM record, the sent email, and a Slack-notification mockup, plus a system diagram
Drafts personalized outreach referencing the discovered pain point, attaches the proof screenshots, and — only after a human approves — sends it via email
Tracks history: Supabase logs every business contacted so Scout skips duplicates on future runs, and an analytics tab shows totals, execution rate, and time saved
Scout currently ships one automation template — a lead-capture pipeline (form → CRM → email & slack notification) — so every demo shows that system, regardless of which specific pain point was uncovered during research. It's proof-of-concept-as-outreach: showing what automation could look like for that business, not a bespoke fix for their exact problem yet.
How we built it
Agent core: Strands Agents SDK (Python) with Amazon Bedrock (Claude Haiku 4.5) as the model provider
Web research: Linkup for business discovery and pain-point research
Automation demo: Playwright to autonomously fill and submit a real Tally form, Airtable (pyairtable) as the CRM, Amazon SES for the outreach email (raw MIME to support attachments). In the current version to preserve memory on the server, instead of actually opening the airtable view in the browser and taking screenshot of that stored data, scout opens and takes a screenshot of an html mockup file of the database. But the data are still storing in Airtable CRM as well.
Human-in-the-loop: an approval gate before any outreach is sent
Backend: FastAPI (start-agent, regenerate-outreach, send-outreach endpoints)
Frontend: built in Bolt.new — dashboard with niche/location input, live results, per-lead approval panel, History tab, and Analytics tab
Data: Supabase for outreach history and duplicate-skip logic
Deployment: frontend on Vercel, backend on Render
Challenges we ran into
Matching the outreach email content to the automation demo shown — early on, the email described the AI-discovered pain point while the screenshots always showed the lead-capture system, creating a mismatch. Fixed by having the email always describe the lead-capture automation itself, regardless of the discovered pain point.
Hit Tavily's free search API credit limit faster than expected and had to switch to Linkup mid-build.
Coordinating a real external trigger (the form submission) without over-engineering — we initially planned a FastAPI/webhook/ngrok layer before realizing Playwright submitting the real form was a simpler and more genuine trigger.
Scout constantly started to hit "Failed to fetch" errors when testing. I figured that it's because of 100% memory usage on render. So as a solution I had to instead of actually opening the airtable view in the browser and taking screenshot of that stored data, scout opens and takes a screenshot of an html mockup file of the database. But the data are still storing in Airtable CRM as well.
Accomplishments that we're proud of
A fully working end-to-end pipeline — discovery → research → live automation build → proof capture → human-approved outreach — that runs successfully across multiple real businesses in one run
Real infrastructure, not mocked: real form submissions, real CRM writes, real emails sent
A polished dashboard with history and analytics, not just a CLI script
What we learned
This was my first time working with the Strands Agents SDK — before this hackathon I had zero experience with agentic frameworks, and came out of it understanding how to structure a multi-stage agent pipeline (research → build → verify → outreach) end-to-end. I also learned a lot about chaining real external tools together reliably (Playwright, Airtable, SES) rather than mocking them, and got a crash course in working under real time pressure — debugging integration issues, switching tools mid-build (Tavily → Linkup) when I hit limits, and still shipping something that worked across multiple real test cases by the deadline.
What's next for Scout.
Expand beyond the single lead-capture template to multiple automation types matched to the specific pain point discovered
Add more outreach channels beyond email
Built With
- airtable
- amazon-bedrock
- amazon-ses
- bolt.new
- claude
- fastapi
- javascript
- linkup
- playwright
- python
- render
- strands-agents-sdk
- supabase
- vercel
Log in or sign up for Devpost to join the conversation.