Cheah Wai SoonLocal AI

AI · Local AI · Experiment

Two local models built my server rack in 3D.

Before buying a cabinet for my home lab, I wanted to see it. Two AI models on my own hardware wrote every 3D part. Here is what broke and what held.

14 October 2026 · 4 min read

3D render: a 1.5 metre desk with two monitors on an arm, a printer, and a white locked rack cabinet underneath holding a PC, two AI servers and a NAS
The whole setup: locked 12U cabinet under the desk, kid-proof, ducted to a wall vent.

The lesson: the model never decides a measurement. Plain code sets every size and position. The model only draws inside the box it is given.

563D parts written by local AI
2models, same instructions
6failures caught
0parts drawn in the cloud
01

The race

Same 28 parts, same machine. Press the button.

125B MoE5B active
0 / 28
0:00
27B denseall weights, every word
0 / 28
0:00
125B MoE27B dense
Time11 min 45 s28 min 51 s
Broken parts12
Kept to real sizesoften too bigclose

Speed went to the sparse model. Accuracy went to the dense one. Neither was clean alone.

02

How it worked

Hybrid: a cloud assistant conducted, the local models did the bulk. Tap a step.

Tap a step to see what happens there.
cloud: plan + reviewlocal: 56 partscode: checks
03

Every part, drawn by a model

No photos here: every shape and face below came out of a model's code. Flip between the two to compare.

AI server, drawn in 3D by the model
AI server
NAS, drawn in 3D by the model
NAS
Mac Studio (future), drawn in 3D by the model
Mac Studio (future)
Rack PC case, drawn in 3D by the model
Rack PC case
10G switch, drawn in 3D by the model
10G switch
UPS, drawn in 3D by the model
UPS
Apple TV, drawn in 3D by the model
Apple TV
Wi-Fi router, drawn in 3D by the model
Wi-Fi router
Front of the open cabinet in 3D: switch, patch panel, rack PC, two AI servers, NAS

Inside the cabinet, top to bottom: switch, patch panel, PC, AI servers, NAS.

04

Six things that broke

Tap a card to see the guard that now stops it.

Before: grey sheets and black spikes across the PC view After: the same view rendered correctly BeforeAfter

Drag: the silent bug, before and after the guard.

05

Next: fully local

Swap the cloud conductor for a relay of local models. They hand off through a job file, not chat. Run one part through it.

Press a button to send a GPU part through the relay.

Two limits shape it. My GX10 holds one big model at a time, so the drafter runs the batch, then swaps to the repairer. And a model grading itself is weak: the code checks and a screenshot caught every real failure.

06

Exact models and settings

Both ran on one ASUS Ascent GX10 (NVIDIA GB10, 128 GB unified memory). Same prompts, same layout, same checks.

Model A: the fast drafter
ModelQwen3.8-Flash-Next 125B-A5B (mixture of experts, about 5B active per token)
WeightsINT4 AutoRound quantisation
EngineTensorFold, OpenAI-compatible API
Servercontext 131,072 · 2 parallel slots · KV cache fp8 · vision on
Per requesttemperature 0.4 · top_p 0.95 · top_k 20 · max tokens 16,000 · thinking off
Concurrencyup to 4 requests queued on 2 slots
Model B: the careful repairer
ModelQwen3.8 27B (dense, 27.3B parameters)
WeightsQ4_K_M quantisation, with multi-token prediction
EngineOllama 0.40.2, native chat API
Servercontext 131,072 · kept loaded in memory
Per requesttemperature 0.4 · top_p 0.95 · top_k 20 · max tokens 16,000 · thinking off
Concurrency2 requests at a time
The conductor (cloud)
ModelClaude Opus 5.5 in Claude Code
Rolechecked specs, wrote layout and checks, read screenshots, fixed and published. Wrote none of the 56 parts.

Temperature 0.4 trades creativity for steadier code. Thinking off because, with a precise spec, reasoning burned the whole budget before writing anything.

Swap in a better model next year. The fence still holds.