vanta-explorer v2: API + SPA on a single port
The explorer was running as two separate Fly machines: one Node API at :3000, one nginx-served SPA at :80. Doubled the rent, doubled the surface area. Consolidated into a single Express handler that serves the SPA on / and the JSON API on /api/*.
The thing nobody tells you: Fly’s free tier is metered per machine, not per port. A 2-machine setup of two 256MB VMs is twice the cost of one 512MB VM serving both. Saved $11/month.