CASEEnterprise · Mining management system
Running a mine from one screen
Djati runs a mining contractor with more than 500 employees end to end: procurement and inventory, equipment, maintenance, production dispatch, fuel, HSE, HR and finance, for the head office and every project site. I designed the product and built the platform, its companion portals, and an HSE app on Google Play.
- Role
- Product designer and lead engineer
- Period
- Ongoing
- Platform
- Web, employee and dispatch portals, Android

- 12,356
- business documents routed through configurable approval templates
- 10,660
- procurement lines tracked from material request to issue
- 371
- permissions across 25 roles, scoped per project and department
- 135
- heavy units monitored for readiness, breakdowns and hour meters
01The problem
Spreadsheets don’t dig coal
A mining contractor moves fast and spends a lot: hundreds of units, thousands of spare parts, tens of thousands of litres of fuel a day, and every purchase needing the right signatures. Spread over spreadsheets, chat groups and paper forms, nobody could see where a part request was stuck, which units were down, or whether fuel matched production.
Djati replaces that with one system where every transaction belongs to a project, every document follows an approval route, and the head office sees every site live.
02Product
What I built
01 · Dispatch
Hourly production per hauling unit: the excavator that loaded it, material, loading and dump points, trips and delay minutes. Production in BCM and tonnes comes from trips times each truck’s factor, against a daily plan.
02 · Dispatch app
A field app for checkers in the pit that caches units, locations and shifts so it keeps working without signal, with one-tap delays such as rain for every unit in the hour.
03 · Weighbridge
Coal tickets with gross, tare and net weight imported from the weighbridge export, with a duplicate check that knows the weighbridge reuses ticket numbers.
04 · Fuel
Fuel issued per unit and shift, received versus consumed, and fuel ratio against production in litres per BCM.
05 · Maintenance
From a driver’s damage report on the mobile portal, through supervisor review, work order, mechanic inspection, parts request and repair, to verification and closure.
06 · Procurement & inventory
Material requisition to purchase requisition, quotation, purchase order, receiving and issue, with every line tracked and stock valued per warehouse.
07 · Equipment
Asset register with ready / breakdown status, units waiting for parts or under repair, and hour meter reports.
08 · HSE
A form builder for inspections, audits, permits to work and hazard reports, filled on phones offline with photos, GPS, scores and signatures; a hazard dashboard; and mine permits with printable ID cards.
09 · People & finance
Employees, attendance, leave, recruitment with a career portal, vendor invoices and payments.
10 · Approvals
Approval templates that route documents by position, department and project, with standard document numbering.
11 · Portals & API
An Employee Portal with NIK sign-in, a Career portal, and a public HSE API with its own reference for the mobile app.
12 · Documentation
A full manual for every module, from access control to the end-to-end procurement walkthrough, with versions named after the growth of a teak tree.
Hard parts
What made it difficult
The pit has no signal
Checkers record every unit every hour in the pit, and employees fill HSE forms in the field, so both the dispatch app and the mobile forms cache what they need and sync when the connection comes back.
Access control for a real company
Head office sees every site; site staff see only their projects; approvals look up who holds a position in the right department and project. 371 permissions make that precise without being a maintenance burden.
Approval routing without hard-coding
Work orders, requisitions, purchase orders and leave share one document model and one approval engine, configured with templates instead of code changes.
Messy real-world data
Weighbridge exports reuse ticket numbers and get imported twice; a ticket only counts as a duplicate when every weighing field matches, so real tickets are never lost.
Numbers people trust
Fuel ratio, production, stock value and procurement stages all come from the transactions people enter every day, so reports match what happened on the ground.
Outcome
Who it helps
For management
Live view of every site: production against plan, units ready, parts on order, fuel against production.
For site teams
One place to request parts, report damage, log fuel and fill HSE forms, from desktop or phone.
For procurement
Every request visible from MR to issue, with bottlenecks obvious at a glance.
For safety
Hazard reports, inspections and mine permits that are assigned, tracked and auditable.
04Skills · What it took
The craft behind it
Engineering
Enterprise systems
- Multi-project data model where every transaction belongs to one project, with head-office, subsidiary, branch and site types.
- Role and permission system with position-based approval routing and per-department access.
- Offline-tolerant dispatch app, employee and career portals, and a documented public HSE API.
- React Native HSE app published on Google Play.
Product & domain
Speaking the language of the mine
- Built around mining workflows: hourly dispatch with BCM and ton factors, fuel ratio in L/BCM, hour meters, RFU and breakdown, weighbridge tickets, KIMPER mine permits.
- Maintenance modelled on the company’s own procedure: EDR, review, work order, MOL to MR, repair, verification and closure.
- Documentation site with walkthroughs for every module, from access control to end-to-end procurement.
Design
Dense, but calm
- Data-heavy screens kept readable: summary cards first, then charts, then tables with filters and Excel export.
- One component system across admin, company and project areas, with light and dark themes.
- Next.js
- React Native
- Node.js
- PostgreSQL
- AWS
05Screens
A closer look






Next case study
Drone Indonesia
Community, certification, logbook, airspace, GIS and marketplace in one platform
