Phase 1 shipped · Phase 2 in build

The platform we built to actually run the print farm floor.

Operations, materials, products, and intelligence — one system across 55 printer models, 4,874 filaments, and the kind of work-order chaos you only know if you've run a shop for a decade.

The platform

Four tabs. One shop.

Every action in the building maps to one of these. Operators stay in their lane; the data crosses tabs underneath them.

Operations

Daily jobs, fleet health, print queue, production console. Live status of every printer.

12 jobs today · 87% fleet health

Materials

Filament, components, packaging, printed parts. Inventory aware of every active job.

4,874 cataloged filaments

Product

SKUs, bills of materials, design versions, work-order generation that knows what's in stock.

BOM-aware · MMU/AMS ready

Intelligence

OEE, First Pass Yield, cost-per-unit, predictive maintenance, demand forecast.

94.2% FPY · 73.8% OEE
How it works

From a work order to a finished part.

The path the system walks every time a job comes in. Five stages, all visible from one screen if you ask for it.

/01 — Operations

The shop tells you what it is.

Walk in, open the Operations tab. Fleet health, daily jobs, queue depth, material alerts — all of it surfaces before you click anything. The console knows which printers are online, which are mid-job, which are blocked, and which are offline.

87% fleet health isn't a vanity score — it's the system flagging the 13% you're about to lose if nobody touches it.

printmatrix.app/operations
PrintMatrix Operations dashboard — fleet health, print queue, production console, system health, active jobs with live temperatures
12jobs today, +20% vs yesterday
87%fleet health · 4 online · 2 active
215°C/65°Clive hotend/bed on Widget Housing
/02 — Materials

Inventory that knows what's coming.

Switch to Materials. Every spool, every component, every PEI sheet on the shelves. Each filament card shows kg remaining, the printer it's loaded on, and the queue depth that will burn it. The global catalog ships with 4,874 filaments across PLA, PETG, ABS, TPU — your shop picks the ones you stock and adds its own blends.

When a job's queued, the spool it'll eat gets reserved via PrinterLoadedSpool. No double-booking white PLA again.

printmatrix.app/inventory/filament
PrintMatrix Filament Inventory — color-coded cards with spool weight remaining, attached printer ID (A5/A10/Y9), and material type (PLA/PETG/ABS)
PETG HF Lime0.77kg · loaded on A7
PLA Silk Candy Red0.75kg · loaded on A10
ABS Orange0.69kg · loaded on C5
/03 — Product

The work order writes itself.

Pick a SKU. The BOM tells the system every filament, every component, every shipping bag it needs. Inventory checks itself in real-time against the Component + Material tables. The work order generates with stock-aware quantities, version-pinned STL files via STLMaterialAssignment, and the multi-material assignments already mapped to AMS slots.

If a Component is below safety stock or a Material is out, you see it before you start — not at hour 3 of a 4-hour print.

printmatrix.app/materials
PrintMatrix Master Inventory — SKU table with Category, SKU, Item Name, Quantity, Status (Active/Critical/Low Stock/Good), Location, Value, and Last Updated
CriticalPETG Clear at 0.15 kg · Storage B
Low StockM4 Hex Bolts · 8 pcs in Hardware Bin 4
ActiveWidget Housing v3.2 · 24 pcs on Shelf A3
/04 — Intelligence

What the data is trying to tell you.

The Intelligence tab is the part that's quietly running in the background. First Pass Yield by part complexity (94.2% overall, 89.7% complex, 97.8% standard), OEE-lite that knows when a printer's drifting (78.4% active time × 94.2% quality = 73.8% OEE), cost-per-unit across material/energy/labor, and an AI insights panel calling out the next thing to fix.

"Prusa MK3S+ #1 could reduce material 15% with infill at 20." That's a recommendation, not a feature.

printmatrix.app/intelligence
PrintMatrix Intelligence dashboard — Manufacturing KPIs (94.2% FPY, 73.8% OEE), Cost per Unit Analysis ($2.47 material, $1.23 energy, $0.89 labor), AI Insights (Print Optimization, Predictive Maintenance, Demand Forecast), Risk Assessment by job
94.2% FPY↑ 2.1% — overall first-pass yield
$2.47/$1.23/$0.89cost per unit · material / energy / labor
Job #124785% adhesion failure probability
/05 — Vault

Every STL, every version, every revision.

Design files live in the Vault with version control. A SKU points to a specific STLFile revision via Design, the AMS assignments for it via STLMaterialAssignment, and the GCodeFile that came out of slicing tied to a SlicingProfile. Roll back a part to v2.7 if v3.0 had a bad fillet. Nothing's lost.

The customer who ordered last Tuesday gets exactly what was on the screen last Tuesday — even if the design moved since.

printmatrix.app/vault
FilePartVersionsActive
widget-housing.stlWidget Housingv1 → v3.2v3.2
bracket-arm.stlBracket Armv1 → v2.7v2.7
connector.stlConnectorv1 → v1.4v1.4
What surrounds it

14 years of running a shop, distilled.

The catalog, the printer specs, the BOM patterns, the failure modes — none of this was guessed at. It's the platform Mike built because he needed to.

4,874-filament catalog

Brand, spool weight, recommended hotend temp, bed temp, retraction settings — for every spool on the global shelf. Org-specific blends layer on top via orgId.

PLA · PETG · ABS · TPU · PA · PC

55 printer models

Decomposed into ExtruderSpecification, MotionSpecification, ElectronicsSpecification, InterfaceSpecification, AssemblySpecification. Add your fleet, it knows the geometry.

Bambu X1C · Prusa MK3S+ · Kobra · Ender

20-model Prisma schema

Organization, Users, PrinterModel, Printer, Design, STLFile, STLMaterialAssignment, SlicingProfile, GCodeFile, BOM — wired with referential integrity across 1,800+ lines.

100% test coverage · 18/18 passing

Supabase backend

Postgres for the relational core, Storage for STL/gcode binaries, Auth (Phase 2) for Email/Google/GitHub login. Row-Level Security enforces per-org isolation.

RLS · multi-tenant · ADMIN / OPERATOR / VIEWER

Multi-material support

AMS / MMU slots mapped per design through STLMaterialAssignment. Color blending, soluble supports, multi-tone prints handled at the work-order level — no slicing-step drift.

Per-design slot assignments

Design + slice versioning

Every STL revision lives forever. SlicingProfile ties a gcode build to a specific printer model + filament + STL — so a reprint from last quarter slices the same way.

Immutable history · printer-pinned
Status

Phase 1 shipped. Phase 2 in build.

What's done and what's next — saying it out loud so the system reads the way it actually is.

Shipped — Phase 1

  • ✓ 20-model Prisma schema (1,800+ lines)
  • ✓ 55 printer models, spec-decomposed
  • ✓ 4,874-filament global catalog
  • ✓ Smart work orders — only print what's missing
  • ✓ MMU/AMS multi-material assignments
  • STLFile + GCodeFile via Supabase Storage
  • SlicingProfile per printer × material
  • ✓ 18/18 tests passing · 100% coverage

In build — Phase 2

  • → Supabase Auth · Email / Google / GitHub
  • → Row-Level Security — per-org isolation
  • → Roles: ADMIN / OPERATOR / VIEWER
  • → Real-time printer telemetry (hotend, bed, progress)
  • → Live AMS / MMU slot status
  • → Webhook intake for third-party schedulers
  • → Invite system + user activity log
  • → Onboarding flow < 2 minutes
Glossary

Print-shop jargon, plain.

OEE-lite
Overall Equipment Effectiveness — a single percentage that compresses uptime × performance × quality into one number. "lite" because it's the operator-friendly version, not the ISO-22400 one.
FPY · First Pass Yield
The share of parts that come off the bed acceptable on the first try. Above 90% is the goal; under 80% means something upstream is broken.
BOM · Bill of Materials
The full recipe for one finished SKU — every filament, component, fastener, packaging item. PrintMatrix's BOMs are inventory-aware: if it's listed, it's been counted.
MMU / AMS
Multi-Material Unit (Prusa) and Automatic Material System (Bambu) — the gear that swaps filaments mid-print. PrintMatrix maps each design's slot assignments so the right color lands in the right zone.
Work order
A specific instruction to print N copies of SKU X using version Y. Generated, not typed — the system pulls it together from the BOM, the available stock, and the current queue.
Vault
Where STL and gcode files live, versioned. Linked to SKUs by revision so a reprint is bit-for-bit what shipped originally.

If you run a shop and this looks like the system you've been cobbling together in spreadsheets — let's talk.

Phase 2 will open access for a small group of operating shops. Reach out if you'd like to be in that group, or if you want to ship something with this stack at the back.

Built on tangent.build · tangent.build