← Client work · Electrical & infrastructure

From mapped job selection to a reliable mobile save.

The SPK field app turns imported operational sheets into searchable mapped jobs, then gives field teams a mobile workflow for Boring, Wiring and Changeover records, photos, signatures and status updates.

Power Apps Code AppMicrosoft DataverseReact + TypeScriptMobile field forms
SPK Field Operations
ACTIVE JOBSite record · field detail
BoringWiringChangeover
MapMobile formSaved evidence
Mapped jobsSearch and clustered map selection for field records.
Five routesBoring, Wiring, Changeover, House Services and Letterdrop.
Media lifecycleReplace and remove images against a stable field identity.
Release gateLocal flows verified; published-app canary still matters.
The field workflow

One job identity from map selection to saved evidence.

The technical work is tied to what a field user actually does on a phone: find the address, open the right work type, capture evidence, save and return to the same record later.

Find the address

Searchable cards and clustered map markers expose address, zone and work status without loading every operational table into the first screen.

Open the right form

Task-focused routes keep Boring, Wiring, Changeover, House Services and Letterdrop data in the context where it is edited.

Save authoritative state

Form data, job status and media operations complete before the interface reports a successful save.

Where the build has substance

Mobile polish was coupled to data integrity.

The app is not only a responsive form. It deals with media payloads, stale reads, scoped queries and map failures that can make field software feel unreliable.

Mobile interaction decisions

  • SelectionThe full job card becomes the selection target, with a compact detail sheet and one clear edit action.
  • EditingFull-height mobile sheets, reachable actions, safe-area padding, scrollable tabs and large touch targets support narrow screens.
  • Map reliabilityConfigured Google Maps can fall back to clustered Leaflet tiles with visible readiness and provider diagnostics.
  • Cross-device stateScoped operational views reload Site Job, form, App Data, Letterdrop and On/Off overrides from Dataverse.

Dataverse record boundaries

  • Sheet rowsImported list and sheet snapshots used to browse operational scope.
  • Job formsDraft state for Boring, Wiring and Changeover form work.
  • Site jobsProduct/address context, status and operational flags such as In Progress and On Hold.
  • FilesPhotos and signatures with replacement, removal and retry behaviour.
Verification boundary: build, lint and responsive local flows passed. The documented release gate still requires replacing and removing one image in the published Power Apps runtime, reopening it and confirming the result from a second account or device.
Delivery detail

The hard parts were the edges.

These are the kinds of details that determine whether a field app survives real use.

Edge caseImplemented approachOperational reason
Image replacementCompress to a bounded payload, then upsert using product, address, navigation and field identity.Prevents stale images and duplicate rows from becoming the apparent latest state.
Image removalDelete or clear the matching Dataverse file identity, with failure states kept visible.A removed image should remain removed after the form is reopened.
Slow or failed mapExpose readiness and fallback rather than leaving a white canvas with unexplained controls.Operators can tell whether the map is unavailable or still loading.
Save orderingAwait media and record operations before updating local success state.The “Saved” message represents an authoritative write.
Talk through your field process

Need mobile work to hold up outside the office?

Share the job selection, form, evidence and save path. We can help turn a spreadsheet-heavy field process into a supportable Power Platform workflow.

Discuss a similar project

Tell us where your field workflow loses time or confidence.

Your details are handled through Ultron’s existing enquiry workflow.