← Selected work

Field Operations and Geospatial Systems · Geospatial web and mobile platform

Locator Application

QR and GPS verification for accountable, offline-capable field operations.

A mobile and web platform that verifies field visits and asset locations using QR codes, GPS and timestamped records. Field teams can work offline while managers receive mapped, auditable activity information when devices synchronise.

Up to 250 km
Field operating distance from headquarters
17%
Reduction in prospective sales attributed to unverified or skipped visits before the solution
Overview of Locator Application

Context

Operational context

Field teams operated as far as 250 kilometres from headquarters. Management needed a practical way to confirm visits and asset locations without depending on continuous connectivity or self-reported activity alone.

Challenge

The problem

The organisation could not reliably verify whether scheduled customer visits occurred or whether recorded assets were at the claimed location. Skipped visits and weak evidence contributed to reduced prospective sales and limited accountability across a widely distributed field operation.

Constraints

  • The mobile workflow had to function in areas with intermittent connectivity.
  • Visit evidence needed to combine identity, time and location without creating a burdensome field process.
  • Managers needed a clear map and report view from centrally synchronised records.

Architecture

System design

A Cordova Android client captures QR, GPS and timestamp evidence, queues records offline and synchronises them through Django REST APIs. PostgreSQL stores visit, user and asset records, while a web dashboard uses Leaflet and mapping services to present verified activity. Docker and Kubernetes run the services on AWS, with Jenkins, Git and Ansible automating delivery.

Solution

What was built

I built an offline-capable field application for scanning assigned QR codes, capturing location evidence and recording visits. A connected web dashboard maps synchronised activity and gives managers verified reports for follow-up, customer service and field accountability.

Engineering judgement

Decisions and trade-offs

QR plus GPS verification

Context: Self-reported visits were difficult to validate

Decision: Combine an assigned QR scan with device location and timestamp evidence

Trade-off: Location accuracy and permissions can vary by device and environment

Offline event queue

Context: Teams worked far from reliable connectivity

Decision: Store verification events locally and retry synchronisation when online

Trade-off: Central dashboards reflect offline events only after synchronisation

Web mapping dashboard

Context: Managers needed spatial oversight

Decision: Present verified activity through a map and report interface

Trade-off: Map services and location data require careful privacy controls

Contribution

My role

  • Translated field verification requirements into a mobile and web system design.
  • Built the Django and PostgreSQL API and operational data model.
  • Developed the Cordova mobile workflow for QR, GPS and offline capture.
  • Implemented the mapped management dashboard and activity reporting.
  • Containerised and deployed the platform on AWS with automated CI/CD.

Product demonstration

See the system in use

Results

Operational impact

  • Gave managers a real-time mapped view of synchronised field activity.
  • Produced verified visit reports using QR, location and timestamp evidence.
  • Improved field accountability and supported faster customer follow-up.
  • Allowed teams to capture work in the field without continuous connectivity.

Reflection

Lessons learned

  • Verification works best when it is quick for field staff and useful to managers, not merely an additional control.
  • Offline location events need clear capture, pending, synchronised and exception states.
  • Geospatial evidence should be collected proportionately and protected through role-based access.

Have a similar operational challenge?

Share the workflow, system or data problem you need to solve.

Start a conversation