Capture Hardware Planning Tool User Guide

← Back to the planner

What it is

A browser-based planner for sizing multi-vendor equipment racks β€” power, heat, weight, airflow, and now network cabling β€” before you commit to a bill of materials.

Think of it as a vendor-neutral take on Dell's EIPT: drag servers, GPU boxes, and switches into rack elevations and watch the power draw, cooling load, current, weight, and U-space roll up in real time. Lay out the cabling between them and the tool flags speed mismatches, connectors that won't mate, and runs that exceed a cable's reach. When something is over a limit, it proposes a concrete fix.

It runs entirely in your browser. Your projects are saved to this browser's local storage β€” there's no login and nothing is uploaded, except the two optional AI features described below (which only send the small bit of context they need, when you click them).

⚠ Estimates, not gospel Every number here is a planning estimate and not procurement-authoritative. Most catalog figures are defensible estimates, not vendor-certified specs. Always confirm against the official vendor data sheet before you buy or build. The tool is honest about this everywhere β€” see Confidence & honesty.

Quick start

The fastest way to learn the tool is to poke at the demo it ships with, then build your own.

  1. Open the planner. On a fresh browser it loads a sample data-center project (the MDK-C demo) so you have something to look at. A red banner reminds you its figures are provisional.
  2. Start your own. Click + Project in the header, give it a name. You get one empty rack to begin with.
  3. Drag in hardware. Grab a device from the Hardware Catalog on the left and drop it onto a rack slot. The right-hand panel updates power, heat, weight, and current instantly.
  4. Watch the limits. Each rack shows a Binding: U 40% badge telling you which constraint (U, weight, or power) is closest to its ceiling. It turns OVER if you exceed one.
  5. Wire it up (optional). Switch to the Network / Wiring view and click Infer missing links to auto-cable servers to their top-of-rack switches.
  6. Fix problems. Wherever a πŸ’‘ button appears, click it for a one-click fix that's been checked against the physics.
  7. Export. Click ⬇ Export for a PDF report, an Excel workbook, or a JSON file you can re-import later.

The interface

The screen has three panes plus a header.

AreaWhat lives there
HeaderProject picker, + Project / Rename / Delete, βš™ Settings, ⬑ Import Spec, ⬇ Export, and the ever-present estimates disclaimer.
Left railThe Hardware Catalog. Filter by vendor, category, or a name search; drag items into racks; add or refine custom devices.
CenterConfiguration tabs across the top, then a view toggle β€” Configuration, Bill of Materials, Network / Wiring β€” and the rack canvas itself. + Rack adds racks.
Right panelLive roll-ups: the selected device's detail, then the whole-solution summary, the active configuration, and each rack β€” power, heat, current, weight, U, and the binding constraint.

The three center views

  • Configuration β€” the rack elevation. Drag, drop, nudge, and select devices.
  • Bill of Materials β€” a flat table of every placed device with its key specs.
  • Network / Wiring β€” the cabling map, validation results, and link editor.

Projects, configurations, and racks

The tool organizes work in a simple hierarchy:

Project β†’ one or more Configurations β†’ one or more Racks β†’ Devices (which, for a chassis, can hold child devices).

Projects

A project is a whole plan, saved under its own slot in this browser. Use the header dropdown to switch between projects; create, rename, and delete them with the header buttons. Saves are automatic and debounced. If your browser's storage is full, the tool warns you and points you to Export β†’ JSON so you never lose work silently.

Configurations

Within a project, configurations are alternative layouts you want to compare β€” say, a 25G design versus a 100G design. Tabs across the top of the canvas switch between them; double-click a tab to rename. ⧉ Duplicate config deep-copies a configuration including its wiring (links are re-pointed to the new copies). You can keep up to 10 per project.

Racks

A new rack defaults to 42U, a 2000 lb weight limit, and a 3-phase 415 V A/B power feed. The power-budget (kW) limit is off by default β€” set per-rack limits to make the binding-constraint badge meaningful for power. Rename a rack from its heading; remove it with the Γ— (a configuration always keeps at least one rack).

The hardware catalog

The left rail is your parts bin. Each entry shows a vendor color dot, the form factor, max power, and a confidence chip. Filter with the vendor / category dropdowns or the search box.

What ships in the box

The seed catalog spans five vendors. Two entries are sourced from published specs; the rest are estimated and meant to be refined with authoritative data:

VendorExamples
NVIDIA DGX B200 (8Γ— Blackwell) sourced
Dell PowerEdge R770 sourced, R660; PowerSwitch S5232F-ON, S3048-ON (OOB), S4148F-ON, S5248F-ON, Z9864F-ON (800G spine)
HPE ProLiant DL380 Gen11
Supermicro GPU SuperServer SYS-821GE-TNHR (8Γ— H100)
Lenovo ThinkSystem SR675 V3 (4Γ— SXM5)

Adding your own devices

Three ways, all landing in the same confirm form:

  • + Add custom device β€” type the specs by hand.
  • ⬑ Import Spec β†’ drop a PDF β€” best-effort extraction from a vendor data sheet (see AI & data).
  • ⬑ Import Spec β†’ ✨ Add by name β€” let the AI find and pre-fill it.

Custom devices are stored in this browser and appear in the catalog like any other. Click the ✎ on a catalog row to refine an entry in place.

Categories matter A device's category (server, gpu-server, switch, storage, chassis, custom) drives behavior: switches don't take NIC cards, chassis hold children, and the suggestion engine only swaps like-for-like categories.

Placing & arranging devices

  • Add β€” drag a catalog item onto a rack slot. A green highlight means it fits; red means it's blocked or runs past the top of the rack.
  • Move β€” drag a placed device to a new slot, or to another rack.
  • Nudge β€” select a device and press ↑ / ↓ to shift it one U.
  • Remove β€” select and press Delete, use the Remove button, or drag the device out of any rack and drop it on empty space.
  • Duplicate β€” the Duplicate button copies the selected device into the first free slot. (A single-device duplicate starts unwired; duplicating a whole configuration keeps its wiring.)

Chassis and children

A chassis (e.g. a blade enclosure) holds child devices. Drop a 0U module directly onto a chassis; drop full-U devices into the rack. Children render as chips on the chassis and can be dragged back out β€” to another chassis, to a rack slot, or off-rack to delete them.

Configuring a placed device

Select a device and click Configure… to set:

  • Clone quantity β€” model N identical units in one slot (multiplies every metric).
  • CPU / GPU loading β€” utilization that scales operating power between idle and max. Sizing always uses max draw.
  • Ambient Β°C and Fans at full speed β€” full-speed fans size the device at its max draw.
  • Network adapters (NICs) β€” add cards (Broadcom / NVIDIA) that contribute the data ports used in the wiring view. Switches skip this β€” their ports are fixed on the faceplate.

Power & thermal

The right panel rolls everything up live. A few ideas are worth understanding so the numbers mean what you think they mean.

Three power figures, two jobs

FigureUsed forHow it's derived
IdleReference low boundVendor idle draw.
Operating (typical)Energy & costVendor typical, or scaled by your CPU/GPU utilization. Full-speed fans push it to max.
Sizing (max)Circuits & coolingThe device's rated max draw β€” always worst-case, so breakers and CRACs are never undersized.

Heat, airflow, sound, current

  • Heat / cooling β€” watts β†’ BTU/hr and tons of cooling.
  • Airflow β€” uses the vendor's CFM when published; otherwise it's modeled from heat and a cooling Ξ”T, and clearly flagged ~est.
  • Sound β€” summed logarithmically in bels (you can't just add decibels).
  • Current β€” phase-aware: single-phase I = P / (VΒ·pf), three-phase I = P / (√3Β·VΒ·pf), computed at the rack's feed.

Redundancy β€” two independent axes

The tool tracks these separately because they fail separately:

  • Internal PSU (1+1, N+1, 5+1…): does usable PSU capacity β€” after losing a supply β€” still cover the load? You'll see full redundancy, fault-tolerant only, or exceeds capacity.
  • External A/B feed: each redundant feed is sized for the full load (it has to carry everything on a failover). If the surviving feed's PSUs can't carry the load, you get a feed-loss warning.

The binding constraint

Each rack reports which limit β€” U, weight, or power β€” is closest to its ceiling, as a percentage. Over 100% turns the badge red and a πŸ’‘ fix button appears. Power only participates once you set a kW limit on the rack.

Network / wiring view

Switch the center toggle to Network / Wiring to lay out and validate cabling. The view shows a status summary (errors / warnings / unconnected), a per-rack table of links, the list of unconnected ports, and notes.

How a device gets ports

Every device's ports come from two places: built-in faceplate ports (a server's iDRAC/iLO/BMC management port, or a switch's access/uplink ports), plus data ports contributed by NIC cards you add in the Configure dialog. So a bare server has only its management port until you give it a network card.

What validation actually checks

Connectivity rests on two independent ideas, which together produce every real-world failure mode without a giant lookup table:

  • Cage / form factor β€” can the two ends physically mate? (RJ45, SFP, QSFP, QSFP-DD, QSFP112, OSFP, OSFP112, with sensible backward compatibility β€” an SFP28 plugs into an SFP+ cage, etc.)
  • Speed β€” a link runs at the slower of its two ends.
VerdictMeans
βœ… OKMates cleanly and the run is within reach.
⚠ DegradedConnects, but the faster end is capped by the slower one (e.g. a 25G NIC into a 10G port runs at 10G), or the run is near a cable's reach limit.
❌ ErrorConnectors don't mate, the run exceeds the cable's reach for that media, a switch port is double-booked, or an endpoint device/port no longer exists.
Reach is a conservative guardrail Maximum cable lengths are keyed to the connector and the media (passive DAC, active DAC, AOC, MMF, SMF), using the cautious end of published ranges. The tool would rather warn you early than green-light a run that might not work. Always confirm against the transceiver data sheet.

Inferring links automatically

The two buttons in the summary bar do the heavy lifting:

  • Infer missing links β€” additive. Cables up server data ports to that rack's data top-of-rack switch and management ports to an OOB (RJ45) switch, without touching links you've already made. Run it after adding hardware.
  • Re-infer (replace all) β€” discards every link in the configuration and re-derives from scratch. It asks first, because manual edits are lost.

Inference deliberately refuses to guess: cloned devices, uplinks (left as external endpoints), management ports with no OOB switch, and ports with no compatible target are left unconnected and reported rather than wired wrongly.

Editing links by hand

+ Add link… (or the ✎ on any row) opens the link editor: pick a device and port for each end, choose the media, and set a length in metres. Endpoint B can instead be an external label (e.g. "β†’ transport core") for anything off-rack β€” external ends aren't validated, by design. The βœ• on a row deletes that link.

Cloned devices can't be individually wired A device with clone quantity > 1 represents several identical units, so the engine won't attach a specific cable to it. Set its quantity to 1 in Configure to wire it. Deleting or swapping a device automatically removes links that would dangle.

Fix suggestions (πŸ’‘)

Wherever the tool detects a problem it can act on, a πŸ’‘ button appears β€” on an over-budget rack, a selected device, a bad link row, or an unconnected port. Click it to see one or more suggested fixes.

Every suggestion is derived from the same catalog and physics that found the problem β€” nothing is invented. Before a swap is offered, the engine simulates it to confirm it actually clears the constraint without blowing another. Each suggestion carries a confidence chip and an explicit "what the engine can't know" note (for example: it matches form factor, power, and weight, but cannot verify a replacement has the CPU cores or GPUs your workload needs).

ProblemTypical one-click fix
Rack over power / weight / USwap the biggest contributor to a lighter / cooler / smaller model that clears the limit (shown with a before-confirm preview).
Cable exceeds reachBump the run to the cheapest media tier that covers the length.
Too many NICs for the slotsRemove the last adapter (which also drops the links it provided).
Unconnected management portAdd an OOB switch to the rack, then infer links.
Unconnected data portAdd a data top-of-rack switch, then infer links.
Degraded speed / won't-mateAdvisory: pick matching endpoints or add a breakout β€” a topology call the tool won't make for you.

Applying a fix goes through the normal undo history, so anything a suggestion does is reversible with Ctrl+Z. A device swap shows a consequence summary (moved to fit, NICs dropped, links kept/dropped) and waits for your confirmation.

AI features (✨)

Two optional, clearly-marked AI helpers speed up data entry and decisions. They're the only features that talk to a server, and each sends only the small context it needs. If the backend isn't configured, these simply don't appear and everything else works unchanged.

✨ Add hardware by name

Under ⬑ Import Spec, type one or more model names (one per line, or comma-separated for a batch). The service searches the vendor's spec sheet, extracts what it can, and estimates the rest. You then confirm and correct every field before it's added β€” fields the source didn't actually state are flagged amber βš‘ for your review. Expect roughly 20 seconds per model.

✨ Ask AI about a fix

In the suggestions popup, the ✨ Ask AI button asks the advisor to either explain the trade-off of a suggested swap, or β€” when nothing in the catalog fits β€” to propose a real off-catalog part. If it proposes one, a Fetch & apply button runs the add-by-name flow on that part and swaps your device to it (after the usual confirm).

The honesty firewall The advisor speaks in prose only and is instructed to never state a specific wattage, weight, CFM, or port count as fact β€” all hard numbers come from the extraction pipeline and your confirmation, never from the model's imagination. If it doesn't know a genuinely better part, it says so.

Drop-a-PDF import

Also under ⬑ Import Spec: drop a vendor spec-sheet PDF and the tool reads the text locally and pre-fills what it can find. This is best-effort β€” vendor PDFs vary wildly and power/CFM/acoustics are often absent β€” so you confirm everything on the next screen. The PDF itself is never stored or uploaded; only the record you confirm is saved.

Import & export

The ⬇ Export button opens a menu with four actions. The PDF and Excel libraries load on first use, so the first click takes a moment.

FormatContains
PDF reportSolution summary, per-configuration / per-rack device tables with totals, plus a network cabling page (link validation + an aggregated cable bill of materials). Problem rows are tinted.
Excel workbookSheets for Summary, Bill of Materials, Settings (every assumption that affects a number), Cabling, and Cable BOM.
JSONThe complete project β€” the format to use for saving, backing up, or sharing a plan.
Import JSON…Load a previously exported .rackplan.json. Older files are migrated forward automatically.

Solution settings

βš™ Settings exposes the modeling assumptions. Defaults are sensible; change them only if you know why.

SettingDefaultEffect
Utilization modelLinearHow operating power scales with load. "Concave" is a conservative-high estimate, off by default and labeled as modeled.
Concave exponent0.8Curve shape when concave is selected.
Power factor0.95Used for current sizing from watt inputs.
Cooling Ξ”T (Β°F)30Reconciles modeled airflow with vendor CFM.
PUE1.4Facility overhead applied to annual energy.
Cost per kWh0 (off)Set above 0 to reveal annual energy and cost rows.

Power feed voltage and phase are set per rack (default 3-phase 415 V), not here.

Confidence & honesty

This tool is deliberately candid about what it knows. Three signals tell you how much to trust a number:

  • sourced β€” taken from a published vendor spec.
  • estimated β€” a defensible estimate; refine before you rely on it.
  • low β€” a rough guess, usually from a sparse import.

You'll also see a βš‘ review flag on devices whose imported fields weren't actually stated in the source, a persistent header disclaimer, a ~est marker on modeled airflow, and the reach-is-conservative note in the wiring view. None of this is decoration β€” it's there so a planning estimate never gets mistaken for a procurement guarantee.

Keyboard shortcuts

KeyAction
Ctrl/⌘ + ZUndo (up to 50 steps)
Ctrl/⌘ + Shift + Z, or Ctrl + Y Redo
↑ / ↓Nudge the selected device up / down one U
Delete / BackspaceRemove the selected device
EscClose the open dialog
Ctrl/⌘ + EnterSubmit the "add by name" box

FAQ & troubleshooting

Where is my data stored? Is anything uploaded?

Everything lives in this browser's local storage. Nothing is uploaded except the two AI features, and only when you click them. Use Export β†’ JSON to move a project between browsers or machines.

I lost my project / switched computers.

Projects don't follow you across browsers or machines β€” that's the trade-off for no login. Export to JSON regularly if a plan matters, and re-import it elsewhere.

The tool says storage is full.

Local storage has a size cap. Export anything you want to keep to JSON, then delete old projects you no longer need.

Why won't a device drop where I want it?

A red highlight means the slot is occupied or the device would run past the top of the rack. 0U modules must be dropped onto a chassis, not bare rack slots.

Why is a port left unconnected after I inferred links?

The engine won't guess. Common reasons: there's no compatible switch in the rack (add a data ToR or an OOB RJ45 switch), the device is cloned (set quantity to 1), or the port is an uplink meant to leave the rack (wire it manually to an external endpoint).

The AI buttons aren't showing.

The AI features appear only when their backend endpoint is configured for this site. Everything else β€” cataloging, layout, power, thermal, wiring, suggestions, export β€” works fully without them.

Can I trust these numbers for a purchase?

No β€” treat them as planning estimates and verify against vendor data sheets before procurement. That's what the confidence chips and the standing disclaimer are about.