{"id":"edge-llm-inference","slug":"edge-llm-inference","name":"Edge-colocated LLM inference","shortName":"Edge-colocated LLM inference","problemStatement":"Agent runs on edge/Workers and needs low-latency small/open models next to the runtime.","whenNotTopPick":"Need frontier reasoning quality — use Anthropic/OpenAI and accept hop latency.","categoryIds":["cat-inference-apis","cat-cpu-compute"],"depotPickProviderId":"cloudflare-workers-ai","depotPickRationale":"Colocation + pricePerf. Workers AI for edge; Groq for raw speed off-edge.","runnersUpIds":["groq","fireworks","openrouter"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"Colocation + pricePerf. Workers AI for edge; Groq for raw speed off-edge.","tags":["edge"],"depth":{"whenNotToUse":{"text":"Need frontier reasoning quality — use Anthropic/OpenAI and accept hop latency.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"groq","name":"Groq","overallForJob":7.95,"pickOverallForJob":7.69,"beatsPickOn":["capabilityFit","pricePerformance","developerDx"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4.5,"runnerUpLockInRisk":5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":["OpenAI-compatible API (provider tag `openai-compat`)"],"runnerUpExitSignals":["serves open-weight models (provider tag `open-models`)"],"pickNotes":[],"selfHostFallback":[{"id":"llama-cpp","name":"llama.cpp","license":"MIT","sourceUrl":"https://github.com/ggml-org/llama.cpp/blob/master/LICENSE"}],"migration":"The pick has lower stored lock-in risk than runner-up Groq (4.5 vs 5). Pick exit signals: OpenAI-compatible API (provider tag `openai-compat`). Self-host fallback listed for this job: llama.cpp.","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":3,"sourcesReachable":3,"pricingRows":123,"pricingRowsReconfirmed":99,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"depotPick":{"id":"cloudflare-workers-ai","slug":"cloudflare-workers-ai","name":"Cloudflare Workers AI","tagline":"Best when your agent already runs on Workers and you want colocated small/open models. Not a frontier brain.","overall":7.69},"runnersUp":[{"id":"groq","slug":"groq","name":"Groq","tagline":"Use when latency is the product. Do not build your whole company on one Groq model SKU — they rotate.","overall":7.95},{"id":"fireworks","slug":"fireworks","name":"Fireworks AI","tagline":"Top pick for production open-model serving with real DX. Prefer over random GPU DIY when you want tokens not…","overall":8.35},{"id":"openrouter","slug":"openrouter","name":"OpenRouter","tagline":"Best multi-model router for agents that need failover and experimentation. Pin providers in production; don’t…","overall":8}]}