A mobile companion app for field technicians working jobs against the Intelifield/CRM backend (tenant: crm.intelifield.com). Built offline-first — most actions work without signal and sync automatically when connectivity returns.
Core functionality:
- Jobs: view assigned jobs, job details, and status updates
- Reports: fill out per-job report forms (dynamic fields, dropdowns, office-contact pickers), attach/delete photos, view report history
- Inventory management: track equipment held by the tech, deploy/return items to/from jobs, warehouse returns, mark items missing (with reason), full audit workflow including a real-time camera OCR scanner to confirm serials/receivers/cards against an audit worklist
- OTA/DMA checks: live device/signal diagnostic lookups (online-only)
- Organizations & Contacts directory: read-only view of orgs/contacts linked to the tech's own jobs
- Tickets: a newer feature area (in progress — see TICKET_FEATURE_PROGRESS.md)
- Clock in/out: time tracking synced to the server
- Profile editing, login (email + Google), error/warning logging back to the CRM
Architecture: Flutter + GetX (state management/routing), Hive for local persistence, a durable outbox/queue pattern for every write action so nothing is lost offline — queued requests, inventory actions, report edits/deletes, profile edits, and error logs all drain automatically on reconnect. A global offline banner and per-screen online-only guards (OTA/DMA) make connectivity state visible throughout.
It's essentially a field-tech's all-in-one worklist: see your jobs, do the paperwork, manage your gear, and stay productive with spotty connectivity — everything reconciles with the CRM once you're back online.
Intelifield CRM — field-service technician mobile app (Flutter)