Plan your homelab in 3D — before you spend a dime.
Live: https://flippits.github.io/rackforge/
RackForge is a browser-based rack configurator. Pick a rack, fill it with real hardware (or describe what you want and let the build wizard shop for you), watch everything get racked and cabled in 3D, and see exactly what the build costs you — upfront, monthly on your power bill, in heat, in noise, and in rack units.
No build step, no backend, no accounts. One static folder.
git clone https://github.com/flippits/rackforge && cd rackforge
python3 -m http.server 8080Open http://localhost:8080. Any static file server works (npx serve, nginx,
whatever's handy). Three.js loads from the jsdelivr CDN, so the first load
needs internet.
It's a static site — host it anywhere:
- GitHub Pages: push the folder to a repo, then Settings → Pages → deploy from branch. Done.
- Netlify / Cloudflare Pages / Vercel: point them at the repo, leave the
build command empty, publish directory
/.
Build wizard — type a budget and a sentence like "Proxmox VMs, a NAS for
backups, Plex, and a pentest lab on segmented VLANs — it lives in my bedroom
so keep it quiet, fiber internet". The wizard keyword-matches your goals,
splits the budget, climbs upgrade ladders per goal, sizes the UPS to the
actual peak draw, picks a rack the gear physically fits in (depth included),
and spends whatever's left on upgrades. Every decision comes back as a
human-readable note. Shareable: ?budget=5000&goals=security,virt&addons=fiber&quiet=1.
Parts catalog — 60+ real parts with honest specs and street prices: Dell/HP/Supermicro/Lenovo servers, a quad-GPU box, UniFi/MikroTik/Cisco/Brocade switching, Netgate/Protectli/FortiGate/OPNsense firewalls, Synology/QNAP/ 45Drives/NetApp storage, Pi clusters and TinyMiniMicro nodes, APC power gear — plus the internet side: XGS-PON ONT, DOCSIS 3.1 modem, 5G failover router, fiber patch panel, Wi-Fi 7 AP.
3D view with real cabling — a wiring plan is derived from the build and rendered as physical cable runs: colored Cat6 to the switch (through the patch panel if you have one), DACs for 10G, orange uplinks between switches, power down the right channel to the PDU/UPS, yellow single-mode fiber from the ONT to your gateway, and a WAN feed trailing out of the rack. PBR lighting, soft shadows, procedural faceplates with drive bays, ports and LEDs.
Capabilities dashboard — live totals: cores/threads, RAM, storage, GPU VRAM, 1G/10G/25G ports, switching capacity, PoE budget vs. draw, routing throughput, idle/peak watts, monthly electricity at your $/kWh, BTU/h, and combined noise (log-summed dBA, like sound actually works).
Sanity warnings — UPS overload, rack weight, 15A circuit limits, PoE shortfalls, missing switch/firewall, airflow advice for enclosed cabinets.
Five preset builds, a 2D elevation editor, localStorage autosave, and JSON export/import for sharing builds.
Everything lives in js/parts.js. Add an object with specs and a face
descriptor (bays, ports, leds, screen, vents) — the catalog entry,
3D faceplate, stats and cabling all derive from it. To teach the wizard about
it, add it to a goal ladder in js/advisor.js.
Vanilla ES modules + Three.js r160. That's it.