Skip to content

What kaicad is

This page as Markdown/docs/start-here/what-kaicad-is.mdView .md

kaicad compiles a furniture definition written as YAML into the things you need to actually build the piece: a 3D assembly you can spin, shop drawings, a cut list, a bill of materials, and a validation report that says whether the design will survive contact with timber.

All of it runs in your browser. There is no server, no account, and nothing is uploaded — the CAD kernel is a WebAssembly module that loads once and is then cached.

That is the part people find surprising. kaicad does not draw your furniture for you, and it does not wrap a model in a chat window.

Instead, the model you already use writes the YAML — these docs are what it writes against — and kaicad compiles and checks what it wrote. When a check fails you copy the report back into the same chat and it repairs the file.

The reason is not modesty about what models can do. Text-to-CAD fails in a cascade: executable code, then valid geometry, then a design that a person could actually build. Most of the first loss is invented API calls. Asking for data against a published schema rather than code deletes that failure class outright — a wrong fixture ID is caught in milliseconds by a validator, not discovered after a kernel call throws.

Anyone can arrange boxes in space. What is missing from every open woodworking tool is the layer that knows:

  • whether two parts occupy the same cubic millimetre, and by how much
  • whether a screw has enough thread engagement, and whether it is too near an edge
  • whether a 900 mm shelf in 18 mm pine will sag under books
  • whether a frame-and-panel top will split when the timber moves 4 mm across the grain in winter
  • whether the slat gap under a mattress meets the standard
  • whether the parts can be cut from stock anyone actually sells

Every one of those produces a stable code, a JSON Pointer into your document, and a computed suggestion — “use fixtures.wood_screw.4x50, which gives 30 mm engagement”, not “insufficient engagement”.

v1 is beds, tables, benches, shelving and open case goods, plus cable management. Doors, hinges, drawers and runners are v2. Metric only. Parts are placed by anchors — named points and faces on other parts — and never by absolute coordinates.