Construction software is normally sold as one of two products, and a construction company needs both at once.
Fleet tools plan machines. Workforce tools plan people. A site foreman needs an excavator, a driver with a valid ticket for it, a transport to get it there and a slot in the calendar when all three are free — and the moment any one of those is planned separately, the plan is fiction.
SAM covers projects, requests, crews, equipment, warehouses, personnel, dispatch and workshop. Eight objects, six departments, all editing the same week.
It also has to read machines it did not sell. Cross-manufacturer telematics and the AEMP 2.0 standard mean the platform ingests data from competitors' hardware, at whatever quality that hardware happens to report.
Make the crew the unit of planning
Every competitor plans a machine or a person. Planning them as one object is the whole product, and it is a design decision before it is an engineering one.
Nobody schedules an excavator. They schedule an excavator, a driver who is allowed to operate it, and a lorry to move it.
Asking which of those the software is for is the wrong question, and it is the question the market had been answering for years.
So the planning surface takes equipment and personnel in the same action, and crews — whose types the customer defines themselves — become the thing assigned to a project. Qualifications stop being an HR record and become a scheduling constraint, which is what they always were on site.
Two views, one calendar and one map, over eight objects that plan together.
Everything in SAM resolves to time or place, so the calendar and the map are the two lenses that repeat across projects, equipment and personnel rather than being features of any one of them. A project is a location with a duration; a machine is a position with a schedule; an employee is availability with certificates attached.
Around that sit the flows the office actually runs on: a request from site that carries a status from ask to approval, a transport that dispatch either gives to an internal driver or offers to a haulier, an inspection completed on a phone, and a cost-centre allocation that hands the machine's hours to the billing system.
Equipment and people planned in one action
Crews as the assignable unit, with customer-defined crew types.
Planning them separately produces a schedule that only works if somebody in the office remembers who is qualified for what. Making the crew the object moves that knowledge into the system, where it can be checked.
Crew types are defined by the customer rather than by us, because a road-building crew and a pipeline crew are different shapes and any fixed template would be wrong for most of the market.
Qualifications are a planning constraint
Certificates, expiry and status sit in the scheduling view.
A certificate that expires next month is a scheduling fact, not a personnel file. Surfacing it where the assignment is made stops the class of mistake that only becomes visible when an inspector arrives.
The same view carries absence and holiday, so availability is one answer rather than three systems agreeing by accident.
A request is an object, not a phone call
Site asks for a machine, equipment or people; the ask carries its own status.
The demand for a resource used to exist only as a conversation, which meant it could not be queued, prioritised or measured. Giving the request an identity and a state — from raised to approved — is what turns coordination into something the platform can help with.
It also gives the site a way to see where their ask has got to, which removes most of the follow-up calls that generated the original chaos.
Calendar and map, everywhere
The same two lenses over projects, equipment and personnel.
Construction has two dimensions that matter: when and where. Building those as universal views rather than per-module features means a user learns them once and reads every part of the product with them.
Geofences hang off the same map — a project or a warehouse gets a boundary, and a machine leaving it raises an alarm. Security stops being a separate product and becomes a property of a place already drawn.
Built to read other manufacturers' machines
Cross-vendor telematics and AEMP 2.0 rather than our own hardware only.
A fleet is bought over twenty years from a dozen suppliers. A platform that only reads its own devices asks a customer to re-equip before they can start, which is not a request anybody grants.
Designing for uneven data is the consequence: a machine reporting only position has to sit legibly beside one reporting hours, fuel and fault codes, without the sparse one looking broken.
Inspections signed where they happen
VDBUM protocols on a phone, with photographs and a signature, stored as PDF.
A technical inspection is a compliance artefact that has to survive years and an auditor. Completing it on the machine, with the photographs taken there and the examiner's signature attached, is the difference between a record and a reconstruction.
Filing it back into the equipment profile as a PDF means the proof lives with the asset rather than in somebody's folder.
One platform where the plan includes the people.
SAM runs projects, equipment, personnel, crews, warehouses, dispatch and workshop for construction firms from Bremen outwards — including operations at the scale of STRABAG — with a mobile client for the half of the workforce that is never at a desk.
The design system built alongside it is why six modules and eight object types still read as one product: states, density and the calendar-and-map pairing were decided once and inherited everywhere.
What I would keep from this one
The valuable insight was not a screen. It was noticing that the industry had split a single question — can this job happen on Tuesday — into two products, and that joining them back together was worth more than improving either half.
The harder discipline was refusing to design for our own hardware. Every time the interface assumed rich telematics, it quietly excluded the customer with a mixed twenty-year-old fleet, which is most of the market.
