Inspiration
What it does
How we built it
Challenges we ran into## Inspiration
SEO professionals often spend significant time manually crawling websites, identifying technical SEO issues, reviewing affected pages, comparing competitors, and deciding which problems should be addressed first.
I wanted to turn this repetitive workflow into an intelligent, evidence-based process. This inspired me to build the SEO Competitive Opportunity Agent — an AI agent that combines website crawling, technical SEO analysis, prioritization, AI-powered recommendations, and competitor comparison in one workflow.
What it does
The agent accepts a target website and competitor websites as input. It crawls the websites and collects verified SEO information such as page URLs, titles, meta descriptions, H1 headings, canonical tags, word counts, status codes, and other technical signals.
It then identifies technical SEO issues, categorizes their priority, shows the affected pages, and calculates a technical opportunity score.
The agent also uses an LLM to transform verified crawl findings into actionable SEO opportunities and recommended actions. Competitor analysis provides additional context by comparing the target website with competing websites.
How I built it
The project is built with the Strands Agents SDK and Python. Ollama with Llama 3.1 is used as the local language model.
The application uses separate tools for website crawling, SEO auditing, issue detection, and competitor comparison. Streamlit provides the user interface.
A key design principle is that AI recommendations are constrained by verified crawl evidence rather than allowing the model to invent SEO problems.
Challenges
One of the main challenges was creating a reliable workflow where website crawling and technical analysis produce structured evidence that can then be used by the AI.
Another challenge was working with different website structures and ensuring that page-level findings remained connected to their actual URLs.
I also initially explored AWS Bedrock, but account-level access restrictions prevented model invocation during development. I adapted the architecture to use Ollama locally while continuing to use the Strands Agents SDK.
What I learned
This project helped me understand how agentic workflows can combine deterministic tools with AI reasoning. I learned that AI recommendations become much more useful when they are grounded in structured evidence produced by reliable tools.
I also learned how to design an end-to-end AI application that performs real work rather than simply generating text.
Log in or sign up for Devpost to join the conversation.