CrawlWise is an end-to-end Generative Engine Optimization (GEO) agent system that audits and improves webpages for SEO and AI-readiness. It combines a FastAPI backend, a modern React/Tailwind frontend, the PocketFlow agent framework, and the AlchemystAI LLM Proxy for robust, production-grade content analysis and generation.
- Input: A user submits a public URL (plus optional keywords and tone).
- Process:
- The backend crawls the page (using Crawl4AI), extracts content and metadata.
- PocketFlow orchestrates a multi-step agent pipeline:
- Audit Node: Analyzes structure, SEO/GEO issues, and provides recommendations (via AlchemystAI LLM).
- Enhancement Node: Generates improved intro, meta tags, and FAQ (via AlchemystAI LLM).
- The frontend displays results in a clean, animated UI.
- Output: A structured JSON with audit and improvement suggestions.
demo.mp4
- Backend: FastAPI, PocketFlow, Crawl4AI, LangChain, AlchemystAI LLM Proxy
- Frontend: React, TailwindCSS
- Agent Orchestration: PocketFlow
- LLM Provider: AlchemystAI
flowchart LR
A["User (Frontend)"] --> B["FastAPI Backend"]
B --> C["Crawl4AI Crawler"]
C --> D["Extracted Content & Metadata"]
D --> E["PocketFlow Agent Pipeline"]
subgraph E ["PocketFlow Agent Pipeline"]
F["Audit Node (LLM via AlchemystAI)"] --> H["Audit JSON"]
G["Enhancement Node (LLM via AlchemystAI)"] --> I["Improvements JSON"]
end
D --> F
H --> G
H --> J["API Response"]
I --> J
J --> A
F -.-> K["AlchemystAI LLM Proxy"]
G -.-> K
User submits a URL via the frontend. The backend crawls the page, runs the PocketFlow agent pipeline (audit and enhancement nodes, both using AlchemystAI LLM), and returns results to the frontend for display.
- Framework: https://github.com/The-Pocket/PocketFlow
- AlchemystAI LLM Proxy: https://getalchemystai.com
- Clone the repo
git clone <your-fork-or-this-repo> cd CrawlWise
- Set up environment
- Create a
.env
file insrc/
with your AlchemystAI API key:ALCHEMYST_API_KEY=sk-... # Get yours at https://getalchemystai.com
- Create a
- Install backend dependencies
cd src pip install -r requirements.txt # or pip install .
- Run the backend
uvicorn main:app --reload
- Run the frontend
cd frontend npm install npm run dev
CrawlWise supports Docker for easy deployment and production use.
- Build the Docker image:
docker build -t crawlwise .
- Run the container:
docker run -p 8000:8000 --env-file src/.env crawlwise
- The backend will be available at
http://localhost:8000
. - Make sure your
.env
file withALCHEMYST_API_KEY
is present and passed in.
- The backend will be available at
You can also deploy the frontend separately (e.g., on Netlify or Vercel) and point it to the backend API.
- Sign up at https://getalchemystai.com
- Copy your API key and add it to your
.env
asALCHEMYST_API_KEY
Request:
POST /api/v1/audit
{
"agent": "seo",
"url": "https://example.com/your-blog-post",
"keywords": ["LLM SEO", "AI search"],
"tone": "professional"
}
Response:
{
"audit": {
"structure": ["Missing H1", "Too many H3s"],
"issues": ["No meta title", "No structured FAQ section"],
"recommendations": ["Add a meta title using keywords", "Use structured data"]
},
"improvements": {
"intro": "In this article, we explore how to use large language models for modern SEO...",
"meta": {
"title": "Mastering SEO for LLMs in 2025",
"description": "Learn how to optimize your content for AI-driven search engines using LLM strategies."
},
"faqs": [
{
"question": "What is Generative Engine Optimization (GEO)?",
"answer": "GEO is the practice of optimizing your content for inclusion in AI-generated answers."
}
]
}
}
- PocketFlow orchestrates the agent pipeline:
- CrawlExtractNode: Fetches and parses the webpage.
- AuditContentNode: Audits content/metadata for SEO/GEO (via LLM).
- GenerateEnhancementsNode: Generates improved intro, meta, FAQ (via LLM).
- All LLM calls are routed through the AlchemystAI Proxy for reliability and cost efficiency.
- PRs and issues welcome!
- See PocketFlow for agent framework docs and patterns.
MIT