Root cause: Frontend was compiled with default localhost:8000 instead of production URL https://awoooi.wooo.work This caused all API calls to fail in production because the browser tried to call localhost:8000 which doesn't exist. Next.js NEXT_PUBLIC_* variables are baked in at BUILD TIME, not runtime, so they must be passed via --build-arg. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>