FM10X Technician App
Overview
FM10X gives field technicians a structured way to work through assigned jobs — from accepting a task and clearing a safety questionnaire, through a full start-to-complete lifecycle, to capturing a customer's signature at close-out.
The Challenge
Field work doesn't move in a straight line — tasks get paused, resumed, and interrupted — so the app needed a task lifecycle model that could represent every real state a job passes through without losing data at any step.
My Role
I worked on the UI development of the technician-facing application, building the task lifecycle screens, safety questionnaire flow, and signature capture at task completion.
Technical Approach
- Modeled tasks with an explicit lifecycle — start, pause, resume, stop, complete — so the UI always reflects a task's true current state.
- Built an accept/reject flow at task assignment so technicians confirm availability before work begins.
- Implemented a safety questionnaire gate that must be completed before a task can be started.
- Added issue comments so technicians can log problems encountered mid-task without leaving the workflow.
- Built customer signature capture at task completion as the final step in the lifecycle.
Technical Challenges & Solutions
A linear start-to-finish task model didn't match real field work, where jobs are frequently paused and resumed.
Solution — Designed the task state machine around explicit pause and resume states rather than treating interruption as an edge case.
Capturing a customer signature needed to work reliably in the field, often with inconsistent connectivity.
Solution — Captured the signature locally at completion and synced it with the task record once connectivity was available, rather than requiring a live connection to finish a job.
Technical Architecture
A Flutter UI layer over REST APIs, modeling each task as an explicit state machine — accepted, safety check, start/pause/resume/stop, complete — rather than a linear flow. Customer signatures capture locally at completion and sync once connectivity returns, so the lifecycle never blocks on network availability.
Outcome
Delivered a technician-facing task management interface supporting the full task lifecycle, safety compliance, and customer sign-off for field service operations.
Have a similar project in mind?
I'm available for Flutter, FlutterFlow, and Firebase development — freelance or full-time.
Start a Conversation- Technician task management
- Accept/reject tasks
- Safety questionnaires
- Task lifecycle management
- Issue comments
- Customer signature
- Real-time task workflow
Freelance Flutter UI Developer