Demand inputs
| Input | Why it matters |
|---|---|
| Active farmers and sessions | Base demand |
| Peak concurrent live rooms and duration | SFU/TURN, STT/TTS and worker capacity |
| Video bitrate and TURN relay share | Media egress cost |
| Selected frames/stills per case | Vision/model/storage cost |
| Research trigger rate | Search latency and cost |
| Long-context usage | Reasoning cost |
| Officer join/review minutes | Human capacity |
| Seasonal peak and retries | Headroom and hidden cost |
Cost per completed advisory
Include media transport/TURN, STT minutes, TTS characters, frame extraction and model input, research, storage, databases, monitoring, support and human-review time. Report separately for full-video, reduced-video and fallback sessions.
Cost controls
- Adaptive subscription and frame sampling rather than full-frame inference.
- Stop sampling after evidence is accepted.
- Ask a high-value question before expensive deep research.
- Cache public versioned low-risk explanations.
- Use lower-cost models for frame quality and bounded extraction.
- Reserve strongest reasoning for materially complex cases.
- Avoid default full-call recording and long retention.
Scaling triggers
| Trigger | Candidate response |
|---|---|
| SFU/TURN saturation | Additional nodes, regional TURN and autoscaling |
| Agent/frame worker saturation | Independent pools |
| PostgreSQL retrieval contention | Dedicated retrieval service/Qdrant |
| Background backlog | Durable queue/event platform |
| Complex resumable human workflows | LangGraph/equivalent |
| Availability commitments | Kubernetes HA and DR environment |
Scenarios
Build controlled-pilot, district-scale and province-scale models with explicit concurrency, relay percentage, session duration, selected-frame count, research rate, officer staffing and acceptable cost per completed advisory.