JSJobShop OS
Demo mode
Active role: Admin

Demo mode — Quotes, jobs, capacity, scrap, audit, generated outputs are real Postgres state. Email notifications, ERP sync, Shop-floor printing are stubbed.

SMALL-MANUFACTURER PRODUCTION

How JobShop OS works

Production scheduling and shop-floor tracking for small manufacturers — work orders move from estimate to ship across machines, operators, materials, and quality checks, with promised dates that actually mean something.

What it solves

A small shop juggles machines, materials, operators, and quality checks on every job — but the schedule lives in someone's head, and "when will it ship?" is everyone's least favorite question. Capacity, scrap, and rework all cascade silently until a customer call exposes the slip.

JobShop OS turns estimates into routed work orders that move across machines, operators, materials, and quality steps — with capacity grids, scrap tracking, and rework routing all linked to the promised date and the WIP dollar number.

Why this is hard: Capacity, materials, scrap, and rework all affect each other — and a single late machine cascades into broken promises with customers. Above-tolerance scrap needs supervisor disposition, over-threshold quotes need owner sign-off, and every event has to survive a quality audit later.

Who uses it

Owner / GM
Approves over-$50k quotes; watches at-risk jobs, quote pipeline, and capacity flags.
First action: Open Quotes → Owner approval queue
Scheduler
Loads work centers, sequences jobs, resolves overcommit before it cascades.
First action: Open Capacity grid
Supervisor
Runs the floor; dispositions above-tolerance scrap, releases jobs to QA.
First action: Open Quality queue
Operator
Logs parts good and parts scrap by routing step at the work center.
First action: Open Jobs → Shop floor
Estimator
Builds quotes from customer RFQs; submits over-$50k quotes to the owner.
First action: Open Quotes
Purchasing
Reserves materials for newly approved jobs; chases shortages.
First action: Open Materials
Quality
Reviews scrap, signs off inspections, assigns reason codes to rework orders.
First action: Open Quality → Inspections
Customer service
Answers status questions; prints work-order travelers for the floor.
First action: Open Jobs → Customer view

Workflow at a glance

happyHappy path

Estimator builds a quote from the customer RFQ. Owner approves; scheduler attaches a routing template (Laser → Press Brake → Weld → Paint → QA); purchasing reserves the materials. Operators run each routing step and log parts good and parts scrap. Quality signs off; job moves to ready-to-ship.

exceptionException path

The capacity grid flags Press Brake loaded above its weekly capacity. Affected jobs surface in the at-risk queue with a riskReason. Scheduler re-sequences or reassigns; promised dates update; customer service can answer the "is it still shipping Friday?" question with a real number.

approvalApproval path

Operator logs scrap parts above the routing-step tolerance. The scrap event moves to "Requires approval". Supervisor (or quality) dispositions with a root-cause code; if rework is the disposition, a rework work order is opened automatically and routed back through the affected steps.

reportingReporting

WIP dollars (estimated hours × blended labor rate), quote pipeline, work-center load, at-risk jobs, scrap-by-reason, on-time delivery percent, and operator throughput roll up on the owner's daily dashboard.

What it produces

  • Work-order traveler (print-ready)
  • Daily production schedule
  • Job status report
  • Quality inspection report
  • Scrap summary by reason
  • WIP aging export

Industry terms

Routing template
The ordered list of routing steps a job must move through (e.g. Laser → Press Brake → Weld → Paint → QA). Attached to a job when it's scheduled.
Work-order traveler
The printable packet that follows a job around the shop. Carries routing, material list, operator sign-off lines, and the quality inspection box.
Work center
A grouping of machines + operators with a defined weekly capacity. The unit at which load is planned and overcommit is flagged.
Scrap event
A logged record of parts scrapped at a routing step. Above-tolerance scrap routes to a supervisor for disposition.
WIP (work in process)
Jobs that are released to the floor but not yet shipped. WIP value = estimated remaining hours × blended labor rate.
Capacity slot
A planned chunk of work-center time. Status moves through tentative → locked → overcommitted as the schedule fills.
Lead time
Calendar days from quote acceptance to ship-ready. Customers quote on lead time; the schedule is the only thing that protects it.
Rework order
A new work order opened when scrap is dispositioned as "rework". Routed back through the affected steps; tracked separately from the original.
Material reservation
A claim on inventory for a specific job. Prevents another job from grabbing the same SKU before the materials are issued to the floor.
Quality inspection
A pass/fail (or pass with conditions) check at a routing step or before shipping. Signed off by quality before the job can move forward.
Data model (for technical evaluators)

The app is built on a relational schema (Neon Postgres + Prisma). Entities:

Organization · User · Customer · Quote · Job · WorkOrder · RoutingTemplate · RoutingStep · WorkCenter · Machine · Operator · Material · MaterialReservation · ProductionRun · QualityInspection · ScrapEvent · ReworkOrder · CapacitySlot · AuditEvent