{"id":"agent-backend","slug":"agent-backend","name":"Long-running agent worker backend","shortName":"Long-running agent worker backend","problemStatement":"Workers that run longer than serverless HTTP timeouts.","whenNotTopPick":"Already on K8s/EC2 with good orchestration — stay. Pure edge short tools — CF Workers.","categoryIds":["cat-gpu-cloud","cat-cpu-compute"],"depotPickProviderId":"modal","depotPickRationale":"capability for long jobs + dx + reliability.","runnersUpIds":["convex","fly-io","railway","render","aws-ec2"],"weights":{"capabilityFit":0.25,"pricePerformance":0.18,"latencyReliability":0.15,"developerDx":0.15,"privacyPosture":0.1,"lockInRisk":0.07,"maturity":0.1},"methodologyNotes":"capability for long jobs + dx + reliability.","tags":["agent"],"depth":{"whenNotToUse":{"text":"Already on K8s/EC2 with good orchestration — stay. Pure edge short tools — CF Workers.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"convex","name":"Convex","overallForJob":8.15,"pickOverallForJob":8.44,"beatsPickOn":["maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4.5,"runnerUpLockInRisk":6.2,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Convex (4.5 vs 6.2).","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-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-19","ageDays":8,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":2,"sourcesReachable":2,"pricingRows":18,"pricingRowsReconfirmed":18,"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":"modal","slug":"modal","name":"Modal","tagline":"Depot darling for Python agent backends and bursty GPU jobs. If you think in functions not VMs, start here.","overall":8.44},"runnersUp":[{"id":"convex","slug":"convex","name":"Convex","tagline":"Great TS agent product backend when you want reactive state+actions together. Prefer Supabase/Neon when…","overall":8.15},{"id":"fly-io","slug":"fly-io","name":"Fly.io","tagline":"Excellent for globally distributed agent sidecars and Machines-based sandboxes. Prefer Railway/Render if you…","overall":8.28},{"id":"railway","slug":"railway","name":"Railway","tagline":"Depot favorite for shipping agent APIs quickly. When bills climb, move steady-state to Fly/Hetzner/DO.","overall":8.08},{"id":"render","slug":"render","name":"Render","tagline":"Boring reliable PaaS. Great when Railway feels too hip and AWS feels too heavy.","overall":8.1},{"id":"aws-ec2","slug":"aws-ec2","name":"AWS EC2","tagline":"Default enterprise VM substrate. Agents should wrap it — humans shouldn't live in the console.","overall":8.01}]}