Category

Vibe coding, applied to a factory

'Vibe coding' means describing what you want and accepting what the AI produces, iterating by feel. It is a real and useful way to make software. It is also a bad way to make the software a plant runs on, for specific reasons that can be fixed.

Why plain vibe coding fails on a plant floor

  • It invents structure. Asked for 'downtime by shift', a general model makes up shifts, reason codes and machine names. A plant has real ones, and apps that don't use them are wrong from the first row.
  • It computes KPIs its own way. Five vibe-coded apps give five OEE numbers, because each one re-implements the formula. A plant has one definition and needs every screen to agree.
  • It doesn't know the rules. 'Line 2 can't take material over 2 mm' lives in a veteran's head; a vibe-coded scheduler will put the part on line 2.
  • It shows zero when it means unknown. A missing file becomes '0 minutes downtime' on a board, and someone makes a decision on it.
  • Nobody can say where a number came from. Trust on a plant floor is provenance: which file, which row, who entered it.

What to keep from vibe coding

The speed, and the fact that a production supervisor can describe the screen they want without a ticket. That part is right. The fix is not to slow it down; it is to constrain what the AI builds against.

What SubAssembly AI adds

  • A plant model built once — hierarchy, objects, parts, BOM, routings, shifts, reason codes, operators, units — so the AI builds against real things and is told not to invent names.
  • Metric definitions as objects: OEE, availability, scrap rate, on-time delivery defined in a Metrics Studio and evaluated by one engine for every app, report and phone answer.
  • Knowledge and constraints in plain English, structured by the AI and confirmed by a person, enforced in apps with the reason and the author.
  • Tri-state values: a number is a value, unknown, or not applicable, and apps are told to render 'no data' rather than zero.
  • Provenance on every record and an explain on every answer.
  • A Build Advisor and a Deep Build audit that check a build against the model before it ships, and assumption receipts that list what the AI decided on its own.
Builder chat beside the rebuilt app
Vibe coding with a plant model behind it: the request on the left, the app on the right.

Examples

  • 'Build a downtime tracker by shift with the top five reasons' → an app using the plant's real shift calendar and reason codes, with planned/unplanned decided by the plant's own definition.
  • 'Add a changeover column to the line board' → the existing app is edited, QA re-runs, the link stays the same.
  • 'Scheduler for the stamping area' → assignment screens that refuse a part on a line whose recorded capabilities don't meet the part's requirements, and say why.
  • 'Which lines can run PN123456?' asked on the phone → eligible lines, blocked lines with the reason, and lines whose capability isn't recorded yet, in that order.

What it still can't do

  • It can't make a bad spreadsheet good. If the plant's downtime log has no durations, no app can compute availability from it; the readiness view says so.
  • It can't guarantee a build is right. It makes the AI's choices visible so a person can check them in a minute instead of discovering them in a month.
  • It isn't a validated system for regulated production. It holds traceability data and answers on it; it does not replace a validated MES.

Questions

Is vibe coding safe for production software?

Plain vibe coding isn't, for the reasons above. Constrained by a plant model, shared definitions, rules, provenance and audits — and with a human reviewing builds — it is a fast and reasonable way to build plant-floor applications that are not safety-critical.

Who does the describing?

Usually a supervisor, engineer or plant manager. No developer is needed; a builder role in the account is enough.

What if the AI gets it wrong?

The build shows its assumptions; you change one in a sentence and it rebuilds. Every number can be traced to its records and definition.