Build Log · August 1, 2026

Railway Production Proof + Game Builder Scaffold

Proved Railway as a real, working production runtime for Alloy with live evidence — clean monorepo build, Clerk auth, Neon reads/writes, and a Git-push deploy pipeline all confirmed on a real deployment, plus scaffolded the ForgeKit Game Builder experiment and fixed two live bugs along the way.

  • Alloy
  • Platform
  • Experiment
  • OS
of 5 Charge-required artifacts delivered — Runbook corrected post-write for a wrong env var name (s2), Portability Audit + Deployment Design corrected post-write for a false Vercel-live-status assumption (s3)
5

of 5 Charge-required artifacts delivered — Runbook corrected post-write for a wrong env var name (s2), Portability Audit + Deployment Design corrected post-write for a false Vercel-live-status assumption (s3)

real Git-triggered Railway deployments
2

real Git-triggered Railway deployments

live bugs found and fixed mid-session
3

live bugs found and fixed mid-session

projected monthly Railway cost
2.40-2.95 USD

projected monthly Railway cost

Timeline

  1. Start

    Empty scratch-boundary-spike cleanup

    Diagnosed a stale VS Code git decoration, removed an empty untracked dir

  2. +30m

    Game Builder scaffolded

    New experiments/game-builder/ Next.js shell, renamed from placeholder 'playground', wired into workspaces/deploy/PROJECT_INDEX.md/product-registry

  3. +45m

    Alloy Commons image + Clerk LAN investigation

    Wired game-builder Mission photo into Commons; diagnosed Clerk dev-instance origin restriction blocking phone/LAN access

  4. +1h

    Railway Charge received

    Large pre-shaped Charge: prove Railway as Alloy's production runtime without touching Vercel/DNS/prod data

  5. +1h30m

    Investigation + 3 artifacts written

    Portability Audit, Deployment Design, Runbook — all evidence-based, health route added

  6. +2h

    Live Railway deploy

    First build succeeded — monorepo workspace packages resolved cleanly, zero errors

  7. +2h30m

    Full validation pass

    Clerk auth, Neon read/write, multi-tenancy, FORGEKIT_ROOT resolution, static assets, 2nd Git-triggered deploy — all confirmed live

  8. +3h

    Proof Results + Recommendation written, merged to master

    Verdict: adopt Railway. All 5 artifacts committed (2 of the 3 earlier artifacts required a factual correction along the way — see s2/s3), railway-proof branch merged

What shipped

  • experiments/game-builder/ — Next.js scaffold for the ForgeKit Game Builder Mission (Roblox Studio MCP cockpit), renamed from a placeholder 'playground' folder, wired into root package.json workspaces/deploy scripts, PROJECT_INDEX.md, CLAUDE.md, and forgekit-os/product-registry.json (synced live into Alloy's Neon products table)

  • products/alloy/components/commons/primitives.tsx — wired the real game-builder.png Mission photo + a real category ('Youth & Creativity') into the Commons card system, replacing the generic icon+gradient placeholder

  • products/alloy/app/api/health/route.ts — new liveness endpoint for platform health probes, exempted in proxy.ts, live-verified both locally and on Railway

  • docs/platform/alloy-runtime-portability-audit.md — full Vercel-coupling/portability findings, each classified portable/Vercel-coupled/Railway-specific/architectural-concern/unresolved

  • docs/platform/railway-alloy-deployment-design.md — proposed Railway architecture (Railpack, repo-root build context, app-subdir build/start commands)

  • docs/platform/railway-alloy-runbook.md — reproducible Railway setup steps

  • docs/platform/railway-alloy-proof-results.md — real, tested evidence for every validation area the Charge required

  • docs/platform/railway-alloy-recommendation.md — verdict: adopt Railway as Alloy's primary runtime

  • A real, live PROOF deployment of Alloy on Railway (Hobby plan) at alloy-production-08f3.up.railway.app, GitHub-connected, health-checked, tested against real Neon/Clerk — validates the approach; not yet hardened as a long-term production target (Node version pin unresolved, no permanent domain, secrets set ad hoc through the dashboard rather than a durable source)

“holy shit the deploy was succesful!”
— Zeb, on the first Railway build clearing the #1 predicted risk (monorepo workspace resolution) with zero errors