Inspiration
[What made you want to build this? e.g., a specific moment evaluating a startup idea yourself, frustration with how scattered market/competitor research is, or the hackathon's "repetitive, judgment-heavy tasks" framing resonating with something you'd actually experienced.]
What it does
VentureLens takes a single startup idea typed into the browser and runs it through six specialist AI agents that each handle one piece of due diligence:
- Market Agent — searches for market size, trends, and timing
- Competitor Agent — finds real, live competitors and alternatives
- Customer Agent — researches customer pain points and scores sentiment
- Business Agent — runs unit-economics, break-even, and growth-scenario math
- Risk Agent — researches regulatory issues and rates market, competitive, and financial risk
- Synthesis Agent — combines everything into a score, recommendation, strengths, risks, and a plain-language summary
The result is a structured JSON report covering all six dimensions, returned from a single API call.
How we built it
The backend is a FastAPI service orchestrated by the AWS Strands Agents SDK, with each agent wired up using Strands' tool decorators. The orchestrator is explicit Python — the pipeline order (market → competitor → customer → business → risk → synthesis) is hardcoded rather than left to a model to decide, so runs are predictable and debuggable.
For reasoning, we use a configurable LiteLLM provider (Groq's
Llama 3.3 70B by default) since Strands has no first-party Hugging Face
integration. For research, the Tavily Search API pulls live market,
competitor, and customer signal instead of relying on the model's training
data. Two local Hugging Face models — cardiffnlp/twitter-roberta-base-sentiment-latest
and dslim/bert-base-NER — handle sentiment scoring and entity extraction
without an external API call. Financial calculations (unit economics,
break-even, growth scenarios) are plain deterministic Python, not
model-generated numbers.
The frontend is a lightweight HTML/JavaScript app styled with Tailwind and Marked.js for rendering the markdown-formatted report. Everything runs locally over HTTPS, with Docker Compose available for containerized deployment.
Challenges we ran into
- Reproducibility: LLM responses and live search results vary between runs, so the same idea could return different-looking answers each time. We solved this by normalizing whitespace on the input, generating a stable 16-character analysis ID, and caching completed results — identical ideas now always return the identical saved result.
- Rate limits: Running six sequential research-heavy stages against a free-tier LLM provider meant hitting rate limits during testing. The pipeline runs stages sequentially (rather than in parallel) and retries with backoff to stay within provider quotas.
- No first-party HF support in Strands: Since Strands doesn't ship a native Hugging Face model provider, we had to route reasoning through Strands' LiteLLM provider instead, and use the HF models directly as local classifiers rather than through the agent framework.
- Local HTTPS setup: Getting a self-signed cert working correctly so the frontend could call the HTTPS backend without CORS/certificate issues took real trial and error.
Accomplishments that we're proud of
[e.g., getting a genuinely multi-stage, non-trivial agent pipeline working end-to-end rather than a single-prompt demo, or the deterministic finance layer producing real numbers instead of hallucinated ones.]
What we learned
Orchestrating multiple agents reliably is less about the LLM and more about the plumbing around it — caching, retries, and explicit sequencing mattered more to a stable demo than prompt engineering did.
[Add anything else specific to your experience — e.g., what surprised you about Strands, or about combining local classifiers with an LLM instead of using an LLM for everything.]
What's next for VentureLens
AWS isn't used at runtime yet — Strands Agents SDK is a dependency, not a deployment target. Next steps are deploying the backend to Amazon Bedrock AgentCore for a hosted, production-grade agent runtime, and optionally moving the reasoning model itself onto Amazon Bedrock alongside the existing Strands orchestration.

Log in or sign up for Devpost to join the conversation.