DEMO MODE Everything below is fabricated. Customers, products, recipes, prices, batch numbers and document content are placeholders. The structure, workflows, menus and PDF document templates reflect the real application.
Project walkthrough

The MES / ERP system behind the factory floor.

A faithful walkthrough of the enterprise application I designed and built for an automated beverage plant. Click any sidebar item to tour a module; click the ⓘ How it works button inside a module to read its documentation; click Generate PDF on any record to see a print-ready document and save it.

Stack
Python · FastAPI · MongoDB · Vanilla JS
Role
Sole designer & developer
Modules
20+ integrated areas
Documents
6 PDF templates · all viewable below
Launch the live app View static walkthrough

The live app runs the real frontend, fully disconnected — no Mongo, no Sage, no VM, no network. Auto-logs you in as admin · all data is placeholder · realistic shortfall and calculator scenarios.

app.demo.local — Plant Operations · Demo
demo.user · Supervisor
Operations / Dashboard

Plant overview

Active JOs
1
▲ 0% vs prev
OEE Line A
1%
▲ target 85%
Units / shift
1
▬ flat
QC pending
1
▼ 0
Open POs
AED 1
▲ —
Downtime (min)
1
▼ —

Production trend

last 7 shifts · demo
S-1
S-2
S-3
S-4
S-5
S-6
now

Recent activity

latest 6
  • just nowPRODBatch DEMO-0001 closed on Line A
  • 3m agoQCSample passed for DEMO-0001
  • 11m agoINVRM SUGAR-X received · qty 1
  • 22m agoACCVoucher BPV-0001 posted · AED 1.00
  • 38m agoPRODJob order JO-DEMO-1 opened
  • 1h agoDSPDispatch DA-0001 printed
Operations / Job Orders

Job orders

Job orders list

demo records · all values are placeholders
JO #CustomerProductQtyUnit costTotalLineStatus
JO-DEMO-1Demo Customer LtdSample Beverage 500 mL 1AED 1.00AED 1.00Line A In Production
JO-DEMO-2Acme BeveragesSample Beverage 1 L 1AED 1.00AED 1.00Line A Queued
JO-DEMO-3Placeholder FZESample Beverage 250 mL 1AED 1.00AED 1.00Line B Closed
JO-DEMO-4Sample Distribution CoSample Beverage 500 mL 1AED 1.00AED 1.00Line A Draft

JO-DEMO-1 · header

opened 2026-05-13
Customer
Demo Customer Ltd
Product
Sample Beverage 500 mL
Recipe
Recipe-A1 · v1
Order qty
1 case
Planned start
2026-05-13 08:00
Line
Line A
Estimated cost
AED 1.00
Status
In Production

Picking sheet

RMs required for JO-DEMO-1
RMDescriptionReqStockCost
RM-WATERDemo Water1 L1AED 1
RM-SUGARDemo Sugar1 kg1AED 1
RM-FLAVORDemo Flavor X1 mL1AED 1
RM-PREFORMPET preform 500 mL11AED 1
RM-CAPBottle cap11AED 1
RM-LABELShrink label11AED 1
Operations / Production Control

Production control

Line A · live status

demo telemetry
  • Blow molder · running
  • Filler · running
  • Checkmate · idle
  • Variopac FS · running
  • Palletizer · running
OEE1%
Speed1 cpm
Downtime1 min
Output1 case

Batch close form

end-of-shift

Batches today

demo
BatchJOProductQtyRejectOEEStatus
DEMO-0001JO-DEMO-1Sample Beverage 500 mL111%Closed
DEMO-0002JO-DEMO-2Sample Beverage 1 L111%In progress
Operations / Recipes

Recipe library

Recipe-A1 · Sample Beverage 500 mL

v1 · released
StepIngredientQtyUoM
1Demo Water1L
2Demo Sugar1kg
3Demo Flavor X1mL
4Demo Preservative1mL
5Demo CO₂1g

Recipe-B2 · Sample Beverage 1 L

v1 · released
StepIngredientQtyUoM
1Demo Water1L
2Demo Sugar1kg
3Demo Flavor Y1mL
4Demo Preservative1mL
5Demo CO₂1g
Operations / Mixing & CIP

Mixing tanks & CIP

Tank board

demo state
Tank 1Mixing
Recipe-A1 · 1 L · 1°C
Tank 2CIP
CIP cycle · step 1/4
Tank 3Ready
Recipe-B2 · 1 L · 1°C
Tank 4Idle
Operations / Quality Control

QC batch records

Batch DEMO-0001 · QC sheet

demo measurements
CheckUoMMinMaxMeasuredResult
Brix°Bx111PASS
pH111PASS
Net contentmL111PASS
Cap torquelb·in111PASS
Seam thicknessmm111PASS
Carbonationvol111REVIEW

Mixing checks

  • Ingredients verified
  • Temperature in spec
  • Mixing time recorded
  • Operator sign-off pending

Tank CIP

  • Pre-rinse complete
  • Caustic cycle complete
  • Acid cycle in progress
  • Final rinse pending
Operations / Yield

Yield analysis

Yield by batch · last 5

BatchProductTheoreticalActualVarianceYield %
DEMO-0001Sample Beverage 500 mL110100%
DEMO-0002Sample Beverage 1 L110100%
DEMO-0003Sample Beverage 250 mL110100%
DEMO-0004Sample Beverage 500 mL110100%
DEMO-0005Sample Beverage 1 L110100%
Inventory / Stock

Raw materials & finished goods

Stock items

demo
CodeDescriptionTypeOn handReservedUoMUnit costValue
RM-WATERDemo WaterRM11LAED 1.00AED 1.00
RM-SUGARDemo SugarRM11kgAED 1.00AED 1.00
RM-FLAVORDemo Flavor XRM11mLAED 1.00AED 1.00
RM-PREFORMPET preform 500 mLRM11pcsAED 1.00AED 1.00
RM-CAPBottle capRM11pcsAED 1.00AED 1.00
RM-LABELShrink labelRM11pcsAED 1.00AED 1.00
FG-500MLSample Beverage 500 mLFG10caseAED 1.00AED 1.00
FG-1LSample Beverage 1 LFG10caseAED 1.00AED 1.00
Inventory valueAED 8.00
Inventory / Goods Receipt

Goods Receipt Notes (GRN)

GRN list

GRN #DatePO #SupplierItemsValueStatus
GRN-00012026-05-13PO-DEMO-1Demo Supplier Co1AED 1.00Posted
GRN-00022026-05-12PO-DEMO-2Acme Materials1AED 1.00Awaiting QC
Inventory / Raw Material Orders

Raw material reorder

Suggested reorders

RMStockReorder ptLead timeSuggested qtySupplier
RM-SUGAR111 day1Demo Supplier Co
RM-FLAVOR111 day1Acme Materials
Sales / Quotations

Customer quotations

Quotations

Quote #DateCustomerProductQtyUnitTotalStatus
QT-00012026-05-13Demo Customer LtdSample Beverage 500 mL1AED 1.00AED 1.00Sent
QT-00022026-05-12Acme BeveragesSample Beverage 1 L1AED 1.00AED 1.00Accepted
Sales / Performa Invoice

Performa invoices

PI list

PI #DateCustomerItemsTotalStatus
PI-00012026-05-13Demo Customer Ltd1AED 1.00Issued
Sales / Dispatch

Outbound dispatch

Dispatch DA-0001

Customer
Demo Customer Ltd
Address
Plot 1, Demo Industrial Area
Vehicle
DEMO-1
Driver
Driver One
Loaded qty
1 case
Invoice
PI-0001 · AED 1.00
Status
Loading
Procurement / Suppliers

Supplier master

Suppliers

CodeNameMaterialsLead timePaymentStatus
SUP-001Demo Supplier CoRM-SUGAR, RM-WATER1 dayNet 30Active
SUP-002Acme MaterialsRM-FLAVOR, RM-PREFORM1 dayNet 60Active
SUP-003Placeholder SupplyRM-CAP, RM-LABEL1 dayAdvanceInactive
Procurement / Purchase Orders

Purchase orders

POs

PO #DateSupplierItemsTotalStatus
PO-DEMO-12026-05-13Demo Supplier Co1AED 1.00Received
PO-DEMO-22026-05-12Acme Materials1AED 1.00Partial
Finance / Accounts & Vouchers

Vouchers

Bank Payment Voucher

BPV-0001
Date
2026-05-13
Pay to
Demo Supplier Co
Account
Bank Demo · ****0001
Amount
AED 1.00
Reference
PI-0001 / GRN-0001
Status
Draft

Cash Payment Voucher

CPV-0001
Date
2026-05-13
Pay to
Petty Cash
Account
Cash on hand
Amount
AED 1.00
Reference
EXP-0001
Status
Posted
Finance / Sage Entries

Sage draft entries

Draft entries

RefDateAccountDescriptionDebitCredit
SE-00012026-05-135000 · Demo COGSJO-DEMO-1 closingAED 1.00
SE-00012026-05-131300 · Demo InventoryJO-DEMO-1 closingAED 1.00
SE-00022026-05-132100 · AP — Demo SupplierBPV-0001AED 1.00
SE-00022026-05-131010 · Bank DemoBPV-0001AED 1.00
Finance / Forecast

Demand forecast

Forecast by SKU

SKULast monthForecastBookingsCoverage
FG-500ML111100%
FG-1L111100%
FG-250ML111100%
Finance / Customs & FTA

Customs & FTA exports

Excise declarations

PeriodItemsExcise qtyExcise valueStatus
2026-0511AED 1.00Draft
2026-0411AED 1.00Submitted
System / Documents

Document library

Available document templates

click to preview
System / Reports

Operational reports

Output by day

cases · demo
Mon
Tue
Wed
Thu
Fri
Sat
Sun

OEE — Line A

target 85%
1%
OEE
  • Availability · 1%
  • Performance · 1%
  • Quality · 1%
System / Settings

Configuration

Users & roles

UserRoleStatus
demo.userSupervisorActive
demo.qcQC AnalystActive
demo.accAccountantActive
demo.adminAdminActive

Lines

LineSpeedStatus
Line A1 cpmRunning
Line B1 cpmIdle
Line C1 cpmDown
Every value above is fabricated. The structure, workflow names, document templates and inter-module integrations mirror the real system — they're industry-standard MES/ERP shapes.

Happy to walk through it on a call.

I can demo the actual application in a screen-share with redactions on real customer data, or talk through architecture, trade-offs, and what I'd build differently.

Request a walkthrough