Case Study

Field Service Drawing Application

A cross-platform tablet app enabling field technicians to create, annotate, and sync floor plan drawings with the enterprise CRM β€” fully offline-capable with automatic cloud synchronisation.

.NET MAUI 9C#SkiaSharp SQLiteDynamics 365Azure Functions Microsoft Entra IDDevExpress MAUI
ProblemCanvasToolsSyncWorkflowImpact
Before Paper-Based Field Documentation

Field technicians had no standardised digital tool for documenting equipment placement at customer sites β€” relying on paper plans, generic apps, and manual CRM updates.

πŸ“
Paper Floor Plans
Easily lost, impossible to share, no version control or search capability.
πŸ“‘
No Offline Support
Technicians work in basements, warehouses, and areas with zero connectivity.
πŸ”
No Visibility
Managers and back-office staff couldn't see what equipment was installed at each site.
πŸ”„
No CRM Sync
Paper records couldn't sync with the company's Dynamics 365 CRM system.
Result: Lost documentation, no continuity between technician visits, zero real-time operational visibility.
Core Feature Interactive Drawing Canvas

A full-screen SkiaSharp canvas supporting multi-touch pan/zoom, shape drawing, photo backgrounds, and drag-and-drop equipment placement.

✏️
β–­
β—‹
T
πŸ“
πŸ’Ύ
πŸͺ€ Bait Station A1
πŸ’‘ Insect Light Trap
πŸ“ Monitor Point B3
πŸͺ€ Bait Station A2
πŸ’‘ Fly Unit C1
Kitchen 4.2m
Entry Point
Toolset Drawing & Asset Placement

Three tiers of tools: brush controls, shape/drawing tools, and domain-specific equipment asset placement with categorised icons.

✏️
Shape Drawing
Freehand, line, rectangle, circle, ellipse β€” variable width and colour, snap-to-grid support.
πŸ“
Asset Placement
Scrollable bar of categorised equipment icons. Tap canvas to place, drag to reposition, tap to rename.
πŸ“·
Photo Import
Import or capture a photo of a physical floor plan as the canvas background. Rotate and scale.
πŸ“
Text & Measurements
Place text labels for dimensions and notes. Resize, reposition, double-tap to edit.
↩️
Undo / Redo / Erase
Full undo/redo stack plus eraser tool for targeted shape deletion.
πŸ”’
Unsaved Changes Guard
Dialog prompts save before navigating away β€” no accidental data loss.
Offline-First Sync Architecture

All data stored locally in SQLite. Bidirectional sync with Dynamics 365 via Azure Functions when connectivity is available.

πŸ’Ύ
Canvas Captured
Drawing serialised to PNG + shapes to JSON + asset positions saved to SQLite
βœ“
πŸ“±
Saved Locally (Offline)
Immediate save regardless of connectivity. Red sync dot indicates pending upload.
βœ“
πŸ“‘
Connectivity Detected
App detects network availability and queues sync operation.
βœ“
☁️
Synced to CRM
Data pushed to Dynamics 365 via Azure Functions middleware. Green sync dot confirms.
βœ“
Workflow End-to-End Journey

From login through work order selection, floor plan creation, drawing, asset placement, and cloud sync β€” a complete field service workflow.

πŸ”‘
Authenticate with Entra ID
Secure SSO login via Microsoft Entra ID (MSAL)
βœ“
πŸ“‹
Select Work Order
Browse assigned work orders synced from Dynamics 365
βœ“
πŸ—ΊοΈ
Create or Open Floor Plan
New map with name, category, canvas size β€” or resume existing
βœ“
✏️
Draw & Annotate
Import photo, draw boundaries, place equipment, add measurements
βœ“
☁️
Save & Sync
Canvas captured, saved locally, synced to CRM when online
βœ“
Results Architecture & Impact

A purpose-built offline-first mobile drawing platform with bidirectional CRM integration and custom 2D rendering engine.

.NET MAUI 9
Cross-platform native app with MVVM architecture
SkiaSharp Canvas
Custom 2D engine: multi-touch, pan/zoom, shape rendering
SQLite
Offline-first local storage with sync queue
Dynamics 365
Bidirectional CRM sync for work orders and drawings
Azure Functions
API middleware between app and CRM platform
Entra ID (MSAL)
Enterprise SSO authentication
100%
Offline capability β€” works with zero connectivity
2-Way
Bidirectional sync with Dynamics 365 CRM
Custom
Purpose-built 2D drawing engine with SkiaSharp
0
Paper floor plans required

Offline-First, CRM-Synced Field Drawing

Custom 2D canvas with domain-specific tooling β€” replacing paper-based processes with digital precision.