How govindaa-sharma/radarr works
Radarr’s main workflow is scheduled competitor-page monitoring: scrape configured sources, compare with prior snapshots, analyze changes into structured signals, then generate and deliver a daily brief. PostgreSQL holds snapshots and analyses; Qdrant supports semantic retrieval for dashboard chat. The dashboard also reads PostgreSQL for charts and signal listings. The graph wiring is based on the sampled pipeline and agent code; scheduler and crawler internals are represented only where the README documents their roles.
Main entry points: graph.py LangGraph pipeline · postgres.py PostgreSQL memory · analyst.py Structured analyst · crawler.py Crawler agent
Components 16
Pipeline orchestration
- Nightly scheduler
pipeline/scheduler.py - LangGraph pipeline
pipeline/graph.py
Intelligence processing
- Tracked URLs
config/competitors.yaml - Crawler agent
agents/crawler.py - Hybrid scraper
tools/scraper.py - Change detection
tools/diffing.py - Structured analyst
agents/analyst.py - LLM selection
config/llm.py
Memory and retrieval
- PostgreSQL memory
memory/postgres.py - Qdrant memory
memory/vector_store.py
Briefs and dashboard
- Brief summarizer
agents/summarizer.py - Slack delivery
tools/delivery.py - Intelligence dashboard
dashboard/app.py
Other components
- Competitor sources
- Slack
- Local or hosted LLM
Connections 22
- Nightly scheduler → LangGraph pipeline: starts
- LangGraph pipeline → PostgreSQL memory: initializes
- LangGraph pipeline → Qdrant memory: initializes
- LangGraph pipeline → Crawler agent: runs
- Tracked URLs → Crawler agent: configures
- Competitor sources → Hybrid scraper: serves pages
- Crawler agent → Hybrid scraper: requests pages
- Crawler agent → Structured analyst: passes page text
- Structured analyst → PostgreSQL memory: reads snapshots
- Structured analyst → Change detection: computes changes
- Structured analyst → LLM selection: requests analyst model
- Structured analyst → PostgreSQL memory: saves analyses
- LangGraph pipeline → Brief summarizer: generates brief
- Brief summarizer → PostgreSQL memory: reads recent analyses
- Brief summarizer → LLM selection: requests brief model
- LLM selection → Local or hosted LLM: invokes
- LangGraph pipeline → PostgreSQL memory: reads delivery signals
- LangGraph pipeline → Slack delivery: sends brief
- Slack delivery → Slack: posts webhook
- Intelligence dashboard → PostgreSQL memory: queries signals
- Intelligence dashboard → Qdrant memory: searches analyses
- Intelligence dashboard → LLM selection: requests chat model