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
- real Git-triggered Railway deployments
- 2
- live bugs found and fixed mid-session
- 3
- projected monthly Railway cost
- 2.40-2.95 USD
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
live bugs found and fixed mid-session
projected monthly Railway cost
Timeline
Start
Empty scratch-boundary-spike cleanup
Diagnosed a stale VS Code git decoration, removed an empty untracked dir
+30m
Game Builder scaffolded
New experiments/game-builder/ Next.js shell, renamed from placeholder 'playground', wired into workspaces/deploy/PROJECT_INDEX.md/product-registry
+45m
Alloy Commons image + Clerk LAN investigation
Wired game-builder Mission photo into Commons; diagnosed Clerk dev-instance origin restriction blocking phone/LAN access
+1h
Railway Charge received
Large pre-shaped Charge: prove Railway as Alloy's production runtime without touching Vercel/DNS/prod data
+1h30m
Investigation + 3 artifacts written
Portability Audit, Deployment Design, Runbook — all evidence-based, health route added
+2h
Live Railway deploy
First build succeeded — monorepo workspace packages resolved cleanly, zero errors
+2h30m
Full validation pass
Clerk auth, Neon read/write, multi-tenancy, FORGEKIT_ROOT resolution, static assets, 2nd Git-triggered deploy — all confirmed live
+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!”