PM Workload Command · Brief for review
A simple, offline tool for planning and running preventive maintenance
Give the admin work back to the supervisor. Give the wrench time back to the technicians. Everything on this page is one link — the tool, how it works, how it is built, how to check it, and where it goes next.
The problem it was built for
A month's preventive-maintenance load lands on a technician — thousands of individual assets across a set of work orders, against a fixed pool of hours — and the system's standard time estimates do not match the work actually being done. The tech ends up doing workload math on paper instead of turning wrenches. The supervisor cannot see, quickly, what can honestly be finished to standard and what has to move.
This tool is that math, made simple and put in the browser. A supervisor can pull the real workload, see what fits the hours and what does not, sort / trend / pattern-match, put defensible weights on jobs, and reallocate — while the technicians stay on the equipment. It runs on any computer or phone with a browser, offline, no install and no account.
What it does for the shop
Counts the work honestly
Unique assets (deduped inventory) are tracked separately from planned visits (every visit) — never blurred. One work order is not one unit of work.
Two regimes, kept straight
Scheduled PM carries defensible time estimates; corrective (CM) work is never estimated per ticket. The tool enforces the distinction.
Capacity at a glance
Available hours vs projected PM hours vs a labeled CM reservation → remaining capacity, with a clear over-capacity warning when the month cannot be finished to standard.
Bring your own data
Add work by hand or import a DMLSS export, an Excel (.xlsx) file, or CSV/JSON. Columns are auto-detected (ECN / work order / frequency / std hours / priority) with a mapping panel you confirm.
Run the PM in the field
Open a PM → its checklist → an individual asset. Tap each step Pending / Done / N-A, add per-asset notes. Mark a step for the whole PM at once, then override any single asset without touching the others.
Customizable on the ground
Checklists, hours, and priorities are edited in the tool in near real time — no ticket to a vendor, no rebuild. What the shop needs today, the shop can change today.
The layout — every screen
Five tabs plus a drill-down. A supervisor can learn it in one sitting:
Overview
Unique assets, planned visits, available vs projected hours, remaining capacity, the two-count line, and the over-capacity warning.
Work Items
Open and in-progress PM/CM, each with defer, log-time, close-out, and a Checklist button that drills into execution.
Search
Filter across work orders, buildings, type, and asset IDs.
Archive
Closed-out work, retained with its actual hours for calibration and reporting.
Settings
Technician, period, available hours, CM reservation; Import (DMLSS / Excel / CSV / JSON), Export a backup, Load sample, Clear all.
Checklist drill-down
PM list → a PM's checklist (per-step rollup + apply-to-all) → an individual asset (tri-state steps + per-asset notes). Every step on every asset carries a state, a note, and a timestamp.
Built for a federal environment
It is one self-contained HTML file. There is no server, no account, and no network: a strict content-security policy blocks every outbound connection, and the code contains no network calls at all. Whatever a technician or supervisor types in stays in that browser and in files they choose to export. Nothing leaves the device. It works fully offline — open it from a thumb drive if you like.
That was proven three ways before it shipped: a static scan (no network primitives in the code), a runtime test (the whole app driven end to end with every outbound path watched — zero attempts), and the browser-enforced policy itself. The write-up is linked below.
How it is built — and how you can check it
Every figure the tool shows traces back to a primary record — the same discipline the case study is built on. The tool is authorship-stamped before it is shared: an Ed25519 cryptographic signature is applied to the file, so anyone can confirm the copy they hold is authentically the author's and has not been altered. Download it, recompute its hash, check the signature — flip a single byte and the check fails. The private key never leaves the author's machine. Origin travels with the file.
It is test-first: the data engine, the importers, and the field checklist are covered by an automated suite (unit, mapping, Excel, checklist, a full button-level end-to-end pass, an adversarial stress pass, and the no-egress proof) that is re-run and re-signed on every change. The method behind it is published open-access as a case study with a DOI. This is what "a governed build" means: not a promise, a chain you can audit.
One measured cycle, documented: ≈35% of a month's planned PM workload was shown to exceed the hours available, accepted by management, and reallocated the next day. Single cycle, self-reported — the full method and limits are in the case study.
What it is — and what it is not
Calibrated, so a reviewer knows exactly what they are looking at: this is an independent tool, offered for evaluation. The provenance is verifiable authorship and file integrity — it is not a government accreditation, an ATO, or an audited system, and it does not claim to be. The workload result above is a single self-reported cycle, not a validated study. What is on offer is a clean, checkable starting point — and a licensed-trade author to build it out with.
Where it goes next — your features
The version live today is deliberately a floor, not a ceiling. The natural next steps, in the direction the shop needs:
Reporting
Export execution records — who did what, on which asset, when — as an audit-ready trail for review.
Trend & pattern-match
Roll the per-asset, per-step history into trends: recurring failures, buildings that eat hours, jobs that need re-weighting.
Job weighting
Replace placeholder time estimates with real, trade-backed task weights so capacity math holds up.
Compute / integration
Optional aggregation across technicians and shops — a governed backend for the data, kept separate from the offline tool so the device-level privacy guarantee never changes.
Document ingest
Read a typed PM packet directly (review-required), still fully offline.
Whatever the shop actually needs
The point of this page is to ask. Tell me the features; I build them.
The invitation
This is not a finished product being sold to you. It is a clean, checkable tool and an open invitation: look at it, hand it to whoever should look at it, and tell me the features your shop and your review chain actually need. You do not have to build anything — that is my job. You shape it; I build it, under provenance, so what comes out the other side is a governed build that holds up to real review. The trade backing is not decoration — twenty-plus years as a Master Electrician and Master HVAC Technician is what lets the estimates and the method mean something behind the wall.