How siddhanthkjain2005/wildlife-news works
Wildguard is a wildlife-crime intelligence workspace for conservation teams. Its principal workflow gathers news signals, deduplicates and analyzes incidents, stores them for review, and exposes the results through a React command center. Analysts can inspect maps, alerts, actor networks and forecasts, search incidents or ask citation-backed questions, and export reports. The README documents these capabilities; sampled source supports the search/RAG path and selected sync, alert and frontend behavior. Other subsystem connections below follow documented architecture and are not confirmed from sampled implementations.
Main entry points: api FastAPI endpoints · main.py Sync orchestration · search_engine.py Semantic retrieval · rag_engine.py Cited Q&A
Components 21
Collection and intelligence
- Sync orchestration
app/main.py - News collection
app/services/collector.py - Incident deduplication
app/services/dedupe.py - Incident analysis
app/services/intelligence.py
Investigation and outputs
- Alert dispatch
app/services/alert_engine.py - Threat prediction
app/services/predictor.py - Network analysis
app/services/graph_engine.py - Semantic retrieval
app/services/search_engine.py - Cited Q&A
app/services/rag_engine.py - Reports and exports
app/services/report_export.py
Workspace and APIs
- FastAPI endpoints
app/api - Application entry
app/main.py - Command center
frontend/src/App.jsx - Search interface
frontend/src/components/SemanticSearch.jsx - Frontend API client
frontend/src/lib/api.js
Persistence and operations
- Incident store
app/core/database.py - Incident queries
app/repositories/incident_repo.py - Sync status
app/workers/sync_manager.py
Other components
- News sources
- Conservation analyst
- Optional model service
Connections 25
- News sources → News collection: provide signals
- Sync orchestration → News collection: runs collection
- News collection → Incident deduplication: submits items
- Sync orchestration → Incident analysis: runs analysis
- Sync orchestration → Incident store: persists results
- Sync orchestration → Alert dispatch: dispatches pending
- Sync orchestration → Sync status: updates status
- Incident analysis → Incident store: stores findings
- FastAPI endpoints → Incident queries: queries incidents
- Incident queries → Incident store: reads records
- FastAPI endpoints → Network analysis: requests networks
- FastAPI endpoints → Threat prediction: requests forecasts
- FastAPI endpoints → Semantic retrieval: requests retrieval
- FastAPI endpoints → Cited Q&A: answers questions
- Cited Q&A → Semantic retrieval: retrieves citations
- Semantic retrieval → Incident queries: loads candidates
- FastAPI endpoints → Reports and exports: creates exports
- Application entry → FastAPI endpoints: serves endpoints
- Application entry → Command center: serves dashboard
- Command center → Frontend API client: requests data
- Search interface → Frontend API client: submits query
- Frontend API client → FastAPI endpoints: calls endpoints
- Conservation analyst → Command center: investigates incidents
- Semantic retrieval → Optional model service: uses embeddings
- Cited Q&A → Optional model service: generates answers