All selected work
CASE STUDY / 001Industrial operations

Coal-chain.

One connected chain. From ground to port.

MY ROLETechnical Leader
FOCUSEnd-to-end mining operations
CORE STACKGo / Next.js / React Native / Kubernetes / Minikube / NATS / PostgreSQL
Open-pit mining terraces, an illustrative view of Coal-chain’s operational context
ONE CHAIN. EVERY OPERATION.

From ground
to port.

ILLUSTRATIVE INDUSTRY PHOTOGRAPH / UNSPLASH

Operations don’t stop.
Even when the connection does.

Mining operations don’t stop at the edge of network coverage. Blasting, transport, quality assurance, and shipping each need to manage their own processes, while contributing to one central picture of the entire chain.

01Blasting
02Transport
03Quality assurance
04Shipping

Let the field keep moving.

Give each field operation the ability to work independently. Every POS and route board runs its own mini PC with minikube, and offline-first React Native applications support local operations. Data synchronizes with the central data center over NATS whenever a site is online. Go services, Next.js interfaces, Kubernetes, and PostgreSQL connect the field to the bigger picture.

Autonomy in the field.
Visibility across the chain.

Independent at the edge.
Connected at the core.

Coal-chain runs at the edge first. Every POS and every route LED board has its own mini PC running minikube, so weighing, vehicle identification and signage keep working without a network. Whenever a site is connected, its data is pushed to the data center over NATS, and master data flows back down on an interval. The data center validates everything before it reaches the executive dashboards.

FIG. 01 — SYSTEM OVERVIEW
Edge · offline-first
Operational POS30+
Mini PC · minikube
PitOperational POSWeighbridge POSHauling POSPort-bound POS+ more
  • Weighbridge weighing
  • RFID vehicle identification
  • CCTV monitoring
  • LED displays
  • Ticket printing
  • Scanning
  • Operator decisions, such as penalties
Route LED boards8+
Mini PC · minikube
Specific hauling routes
  • Route and direction guidance for drivers
  • Hauler and dump truck position and time from RFID tags
Data center
  1. Receive
  2. Sort
  3. Idempotency
  4. Validate
  5. Post
Executive command center
CCTV from every POSTotal incoming weightVehicles in transitVehicles loading
  1. STEP 01 · 30+ · MINI PC · MINIKUBE

    Operational POS

    Each POS runs its own operations on a local mini PC, offline-first. Vehicles are identified by the RFID tags fitted to them, and every transaction is recorded on the site before it is ever sent anywhere.

    • Weighbridge weighing
    • RFID vehicle identification
    • CCTV monitoring
    • LED displays
    • Ticket printing
    • Scanning
    • Operator decisions, such as penalties
    FIG. 02 — INSIDE ONE OPERATIONAL POS · 30+ SITES
    • Weighbridge weighing
    • RFID vehicle identification
    • CCTV monitoring
    • LED displays
    Mini PC · minikubeLocal services and records
    • Ticket printing
    • Scanning
    • Operator decisions, such as penalties
    No connection: keeps working Connected: pushes over NATS
  2. STEP 02 · 8+ · MINI PC · MINIKUBE

    Route LED boards

    Large LED boards along specific routes show drivers their direction and route. Each board’s mini PC records the position and time of every hauler and dump truck that passes, read from its RFID tag.

    • Route and direction guidance for drivers
    • Hauler and dump truck position and time from RFID tags
    FIG. 03 — ROUTE LED BOARDS · 8+ ALONG THE ROUTES
    LED 01
    LED 02
    LED 03
    LED 04
    RFID
    Tag read Position+ Time Recorded on the board’s mini PC
  3. STEP 03 · NATS PUSH · INTERVAL PULL

    Sync with the data center

    Local records are pushed to the data center whenever the site has an internet connection. Without one, operations continue and the records wait on the site. Every POS and route board pulls master data from the data center on an interval, so local operations use the latest reference data they have received.

    FIG. 04 — STORE AND FORWARD
    Site
    Offline
    R1R2R3

    Operations continue. Records wait on the site.

    Connected
    R1R2R3

    Waiting records are pushed.

    Data center
    Receives the records for validation Serves master data to every site
  4. STEP 04

    Validate before posting

    Incoming data is not posted directly. A validation stage prepares it first, so a record that arrives late or more than once cannot distort the numbers executives see.

    Receive
    Records arrive over NATS from every POS and route board, often in batches after a site has been offline.
    Sort
    Incoming records are sorted before they are processed.
    Idempotency
    A record received more than once is applied only once.
    Validate
    Records are checked before they are accepted.
    Post
    Validated data is posted and becomes visible on the executive dashboards.
    FIG. 05 — VALIDATION BEFORE POSTING
    1. 01ReceiveR3R1R2R2
    2. 02SortR1R2R2R3
    3. 03IdempotencyR1R2R2R3
    4. 04ValidateR1 ✓R2 ✓R3 ✓
    5. 05PostDashboards
  5. STEP 05

    The executive view

    In the executive room, a big screen brings the whole operation into one view: live CCTV from every POS alongside the operational totals.

    • CCTV from every POS
    • Total incoming weight
    • Vehicles in transit
    • Vehicles loading
    FIG. 06 — EXECUTIVE ROOM BIG SCREEN
    CCTV from every POS
    POS 01POS 02POS 03POS 04POS 05POS 06POS 07POS 08POS 09
    Total incoming weight Live
    Vehicles in transit Live
    Vehicles loading Live

Connecting more than technology.

As technical leader, I worked across the connected chain: the applications used in the field, the services collecting operational information, the infrastructure running them, and the integrations with physical equipment.

GoNext.jsReact NativeKubernetesMinikubeNATSPostgreSQL

Want to go a layer deeper?

Ask my AI assistant about the project and the thinking behind it.

GREAT SYSTEMS START WITH A CONVERSATION

Have a complex challenge?
Let’s connect the dots.

A project, an idea, or just a good engineering conversation.