runvault R&D platform · internal
Live · platform health products api repo
runvault · R&D platform

One machine. Many experiments. Zero dead-product hosting bills.

runvault R&D is the shared Fly.io machine that hosts every product idea Jason and Ian explore. New ideas drop in as a folder under products/ and ship the same day. Ideas that die get a git rm; no infrastructure orphaned, no monthly burn. Ideas that validate graduate into their own Fly app — like Cusp did.

Runtime: Fly.io · dfw region Repo: jtrunvault/runvault-rd Cost: ~$5–8/mo flat Auto-stop: idle machine sleeps to $0

Platform status

Live values from /health. If anything goes red, a product's router failed to mount or the machine isn't reachable.

Service
—
checking…
Uptime
—
seconds since last roll
Products
—
currently mounted
Version
—
from package.json

Products on the platform

Each card links to that product's public landing. Status: scaffold = early build, active = real usage, archived = idea died.

Loading products…

If this stays empty, check /api/v1/products.

Architecture in one paragraph

For when someone asks "how does this thing work."

Repo
github.com/jtrunvault/runvault-rd (private)
Runtime
Fly.io app runvault-rd, region dfw, 1 machine (auto-stops when idle)
Layout
Monorepo. Each product lives at products/<id>/ with its own public/, routes.js (Express router), and product.json metadata
Discovery
Platform app/server.js walks products/ at boot and mounts each at /<id>/. New products require zero platform-side code
Persistence
Fly volume mounted at /data. Each product writes to /data/<id>/. Survives deploys + restarts
Deploy
git push origin main → GitHub Action → Fly in ~90s. Same pattern as Cusp
Graduation
When a product earns real users (1000+ uniques/mo sustained, distinct value), extract it into its own Fly app. Cusp did exactly this from a folder under PH Med