Purpose

EPS Production digitizes the shop floor. It sits between the floor and a system like SAP, passing along only what the floor actually needs to do its job, and sending back only the approvals that system needs in return.

It works on any device with a browser — a phone, a tablet, or a shop monitor all work the same way. Nothing needs to be installed.

Why It's Needed

Right now, an order can change without the floor finding out, which means someone has to walk over and ask what's actually being cut. On top of that, every order means the Manager making three separate paper copies by hand — one for the Cutter, one for the Packager, one for the Loader — and keeping all three in sync if anything about the order changes. Inventory gets counted once a month, so for most of the month, it's wrong.

EPS Production replaces that with a live record. One order, entered once, visible to everyone who needs it — no copies to make, no copies to keep in sync. When a status changes, everyone finds out immediately. Inventory updates every day instead of once a month, and leftover pieces are tracked automatically as they're stored or ground down.

It also takes the guesswork out of figuring out the cutting machine setup — how many wires, how many sections, how many blocks an order actually needs.

Versions

EPS Production is being built in stages. Here's the plan.

  1. V1

    Online paperwork

    In progress

    Replacing paper forms with the same information, entered and tracked digitally. This is what's being built right now.

  2. V2

    Connected to SAP

    The app starts talking to SAP directly, so information doesn't have to be typed twice.

  3. V3

    Tailored per plant

    Adjusted to fit how a specific plant actually runs.

  4. V4

    No developer required

    Changes to how it's set up can be made without writing code.

How It's Built

The app is split into three checkpoints, so information gets checked more than once before anything is saved.

First, when someone fills out a form — say, creating an order — the app checks right there on the screen that everything's filled in correctly. Then, before that information is allowed to be saved, it's checked again, this time by the server, as a second safeguard. Finally, the database itself only accepts the change through a specific, controlled door — it won't take just any request, only ones that have already passed both earlier checks.

The idea is simple: don't trust any one checkpoint alone. If something's wrong, it gets caught early — and even if it somehow slipped past the first check, the next one catches it.

Roles & Access

There's no public sign-up. Every login is created directly and handed to the person who needs it. Each login is assigned one of four roles — Manager, Cutter, Packager, or Loader — and each role only sees the screens that role actually needs. A Cutter doesn't see Manager tools, a Loader doesn't see Cutter tools, and so on.

This isn't just a visual choice — it's enforced by the system itself. Even if someone tried, a Cutter's login physically cannot change something only a Manager is allowed to change. The boundaries are built into how the data is stored, not just how the screen looks.

How an Order Moves

A Manager creates an order — customer, dates, what's being cut, how much. From there, the order moves through four stages, and at each stage, the person responsible marks it as done before it moves to the next:

Manager creates the order → Cutter picks it up and sets the cutting order → Packager checks and packages it → Loader finishes it up and gets it ready to ship.

Every time someone updates a status, everyone else sees it immediately — no refreshing the page, no asking around. A Manager can't delete or change an order once it's marked complete, and once an order item is actively being worked on, it can't be deleted either.

Each role can only move an order forward through its own step — a Cutter can mark something as being cut, a Packager can mark it as being packaged, and a Loader can mark it as loading or complete. Nobody can skip ahead or touch a step that isn't theirs.

Once everything for an order is done, it shows up in Order History — a simple list of everything that's been completed.

Order Paths

Right now, the app is built around the most common path an order takes through the plant: Manager → Cutter → Packager → Loader.

In practice, not every order takes that exact path — some go through an additional cutting step, or through a separate fabrication process, or get laminated before packaging. Those other paths are recognized and planned for, but aren't built yet. The first version focuses on getting the main path working well before expanding to handle every variation.

Cutting

Before cutting starts, the system works out how many blocks an order needs and how the cutting machine should be set up — based on the thickness, width, and length being cut.

Some products have their own rules. Pieces for exterior walls can only be packaged in sets up to 18 inches, with every piece in a set the same thickness. Common board pieces follow a similar rule, just up to 20 inches instead. A few product types — like billets — skip the bagging or wrapping step and go straight onto the trailer, though the Packager still checks them for quality. Others, like panels, follow instructions written directly on the order.

One part of this is still being worked out. Ideally, the number of wires needed for a cut would be based on the block's actual thickness. The problem is that the thickness printed on the block can't be fully trusted — blocks shrink a bit after they're made, especially regrind material, more than virgin material. Right now, different people doing this by hand end up using slightly different numbers to compensate. For now, the app uses one consistent number as a placeholder, until a more precise method is worked out.

Daily Records

Several things get logged every day, and who can see which log depends on their role — a Manager can see all of them, everyone else sees the ones that apply to their job.

Quality checks — when a Packager checks a piece's measurements, the results are logged: the actual dimensions, whether anything was rejected, and why.

Cutting records — what was cut, how much, and when, logged by the Cutter as cutting happens.

Daily machine safety check — every day, someone confirms whether the machine's emergency stop is working.

Inventory — what's on hand, updated automatically as material moves through the plant, or manually when someone checks by hand.

Once everyone's part of a record is filled in, it gets passed along to the Manager for final review.

Inventory

Inventory covers a few different things: leftover pieces stored for later use, completed orders waiting for a customer to pick them up, and the bags used for packaging.

Leftover pieces that aren't used for an order are tracked the same way as regular inventory — what it is, how much, and where it ended up.

Orders that are finished but waiting for a customer pickup are tracked by location, so whoever's loading the truck can find them quickly instead of searching the plant.

Bags are tracked two ways: how many of each type are currently on hand, and how many get used each day — so running low on a particular bag is caught before it becomes a problem.

Where Things Stand

As of now, the login system and order management — creating, tracking, and moving orders through the plant — are built and running. That doesn't mean they're finished for good; both will keep improving as real use turns up things worth adjusting.

Still ahead: the cutting calculations, the daily logs, and the inventory features described above.