All work

Industrial software · product development

W-Make Batch

Batch management for container-glass production — from the batch ticket to the daily log.

Responsibility
Domain model, full-stack development, and technical quality.
Stack
Node.js · Express · SQLite · Web Components · native tests · Playwright
Evidence
Public product demo

Situation

A production process lives on recipes, material use, silos, shifts, and calculations. Built as a loose set of screens, the domain relationships disappear — and bookings become editable table rows.

Decisions

  1. 01

    Domain bookings are states, not CRUD records that can be deleted at will.

  2. 02

    The batch ticket and the daily log belong in one model, not in separate tools.

  3. 03

    Calculations and material flows stay traceable even when the interface stays lean.

Evidence

Not features. Systems.

Dashboard: shift, alerts, and the path into tickets and the daily log.
Dashboard: shift, alerts, and the path into tickets and the daily log.
Batch ticket with recipe, target weight, and visible redox state.
Batch ticket with recipe, target weight, and visible redox state.
Recipe workspace: versions, temperature, and cost as master data.
Recipe workspace: versions, temperature, and cost as master data.
Daily log with shift handover and day close.
Daily log with shift handover and day close.

Decisions

The domain core as a model.

  1. 01

    Recipe

    Composition and version stay tied to later consumption.

  2. 02

    Batch

    The ticket is a domain order, not a printout of a table.

  3. 03

    Log

    The day closes as a traceable state, not an exported list.

Outcome

An operable system with a public demo. Confidential client data, volumes, and internal metrics stay unpublished.

Takeaway

A production system improves when domain irreversibility is part of the architecture — not a form validation.

batch.w-make.com

Conversation

A process that deserves better software?

Start a conversation