Inspiration
Finding growth opportunities for a local business usually requires manually searching Google, visiting websites, checking social platforms, and piecing together information before deciding what the business should improve.
I wanted to build an AI agent that could do this process more systematically: find businesses, gather real evidence, identify growth opportunities, prioritize them, and turn the findings into an actionable plan.
What it does
Business Growth Agent has two modes:
- Find Opportunities — searches for businesses based on a service, business type, location, and requested number of results, then researches each business for potential growth opportunities.
- Analyze Specific Business — analyzes a particular business and evaluates its online presence and opportunities relevant to the requested service.
The agent can investigate areas such as:
- Website availability and accessibility
- HTTPS and website security
- SEO elements including title, meta description, and H1
- Image accessibility
- Mobile usability
- Contact information and lead-capture forms
- Calls to action
- Booking and online ordering
- Social media presence
- Service-specific opportunities
The system uses real web and business evidence rather than generating recommendations from assumptions.
How I built it
The backend is built around LangGraph, with a structured state flowing through multiple stages:
Request Parsing → Routing → Business Discovery → Research → Evidence Analysis → Opportunity Detection → Scoring → Recommendations → Action Plan
An LLM is used where reasoning and interpretation are useful, while deterministic Python logic handles evidence extraction, validation, scoring, ranking, and formatting.
This separation was important because recommendations should be explainable and reproducible. Each opportunity is connected to the evidence that caused it, and scoring is deterministic rather than being left entirely to the LLM.
The application uses FastAPI for the backend and React/Vite for the frontend. The interface provides progress updates while the agent works and allows the resulting analysis to be exported to CSV or Excel.
Challenges
One of the biggest challenges was making web research reliable. Business websites and Google Maps pages do not always behave consistently, and some searches can lead directly to a business page instead of a normal results page.
I also had to account for cases where official website verification is inconclusive, rather than incorrectly claiming that a business has no website.
Another important challenge was security. Because the system visits URLs discovered from external sources, I added URL validation and SSRF protections. Localhost, private/reserved addresses, and unsafe schemes such as file:// and javascript:// are blocked, and redirects are validated as well. Webpage content is treated as data rather than as instructions to the agent.
What I learned
This project taught me that building a useful AI agent is not just about connecting an LLM to a few tools. The surrounding system matters just as much.
I learned how to structure multi-step workflows with LangGraph, combine LLM reasoning with deterministic logic, build evidence-based scoring systems, handle unreliable web data, add security boundaries around browsing, and expose agent progress through a user-facing application.
Most importantly, I learned that AI recommendations become much more useful when they are grounded in verifiable evidence and converted into concrete actions.
Future improvements
Future versions could expand the research engine with more business data sources, deeper competitor analysis, historical tracking, richer service-specific analysis, and automated monitoring so businesses can track growth opportunities over time.
Built With
- ai-agents
- automation
- business-intelligence
- fastapi
- generative-ai
- groq
- javascript
- langchain
- langgraph
- llama
- llm
- python
- react
- seo
- vite
- web-research
- web-scraping
Log in or sign up for Devpost to join the conversation.