Atlas CMMS is the open source maintenance management system by INTELLOOP: work orders, preventive maintenance, assets, and inventory for facility teams. One command on its repo: holostaff /scan.
The result: 25 routes, 14 components, 21 customer-facing copy strings, 6 coverage gaps, and 7 workflows placed on the customer journey, from Sign Up through Preventive Maintenance, importing assets, the work order loop, a public request portal, inviting the team, and Upgrade.
This is the fourth scan in the series, after Documenso, Formbricks, and OpnForm. Atlas is a different kind of product. The users are facility managers and field technicians, not developers. The stakes are broken equipment, not broken surveys. The map noticed.
The map, in outline
Seven workflows, each placed at its journey stage, rebuilt here from the scan artifact:
- Sign UpCommit
- Set Up Preventive MaintenanceOnboard
- Import AssetsOnboard
- Create Work OrderAdopt
- Submit Work Request (Public Portal)Adopt
- Invite Team MembersExpand
- Upgrade PlanExpand
Risk · Create Work Order
"Too many fields to fill for a quick work order"
Copilot intervention
"Only Title is required — you can always add details later. Submit now and update when you have more info."
Risk · Set Up Preventive Maintenance
"Unclear how to configure frequency and trigger conditions"
Copilot intervention
"Start simple: set a daily or weekly frequency. You can always refine the trigger later or switch to meter-based once readings are flowing."
Workflow names, risks, and interventions quoted from the scan artifact, unedited.
Finding 1: only the title was ever required
The work order form is the heart of the product, and it is long. Title, description, priority, worker or team, asset, location, attachments, due date, checklist tasks. A technician standing next to a broken machine sees nine things to fill in.
The validation code says only one of them matters. The scan read it, flagged the stall risk, and watches for it with this signal: "Dwell > 45s on work order form; repeated tab-switching between form fields and asset/location selectors." The copilot line it wrote is the one in the card above. Submit with a title now. Add the rest later.
No screenshot shows this. No support doc leads with it. The truth that the long form is optional lives in the validation rules, and the map got it from there.
Finding 2: the onboarding cliff is a CSV
Nobody adopts a CMMS from zero. The real first step is moving your existing asset list in, usually from a spreadsheet someone has been guarding for years. The scan placed Import Assets at the Onboard stage and found two stalls on it: the file that does not match the expected format, and the column mapping screen where people freeze.
For the first, the intervention is a direct path out: "Download our template CSV from the import page to see the expected format. Your file just needs columns for Name, Location, and any custom fields you use." For the second, it defuses the mapping anxiety: only the asset name is required, and unmatched columns can be skipped and added manually later.
Same shape as finding 1. The product asks for a lot. The code only requires a little. The map knows the difference.
Finding 3: the role nobody can pick
Expansion in Atlas means inviting the crew. The invite dialog asks for emails and a role, and the scan flagged exactly where that goes quiet: "Admin unsure which role (Admin, Technical, Limited Technical) to assign." The signal watches the role selector being opened and closed without a confirm.
The intervention gives a default instead of a lecture. Most field technicians start as Technical users, who can close work orders and log time. And it lowers the stakes of choosing: "You can always change their role later." A permissions question becomes a one-tap decision, and the invite goes out.
The workflow the copilot stays off
One workflow in the map does not belong to the customer at all. Atlas has a public request portal at /request-portal/:uuid, where anyone who scans a QR code next to a broken radiator can file a ticket. No account, no login. The scan mapped it, placed it on the journey, and flagged one risk: "Public requester unsure what to fill in or which fields are required."
But this is a surface for restraint. The person at the radiator is not a user to onboard. They want to report the problem and leave. So the map keeps the response to a single line of reassurance on the form: describe the problem in a sentence or two, and the maintenance team will follow up if they need more. No copilot presence, no tour, no upsell. Knowing a workflow exists and knowing to stay out of its way are both things the map has to get right.
Honest limits
Same caveats as every scan in this series. The scan reads code, not production traffic, so its risks are informed hypotheses until rehearsal tests them against simulated users. Atlas is a monorepo with a React frontend, a Spring Boot API, and a React Native mobile app; the scan went deep on the frontend, sampled the marketing site, and did not analyze the mobile app or the backend in depth. And the map reflects the repo, not any customizations a self-hosted deployment might carry.
Four products scanned. Four maps that knew the code.
Yours would be the fifth.
Explore the live Documenso map · or run npm install -g @holostaff/cli on your own repo.