The solution: a local-first app that does its heavy lifting on the device
Si Novi built the app as an offline-first Progressive Web App, installed to the home screen on each surveyor's iPad. The decision at the centre of the design is that survey data never leaves the device until the surveyor chooses to export it. There is no live upload and no server-side survey database, which means none of the conflict, retry and partial-upload problems that come with trying to synchronise from a place with no signal. The deliverable is produced on the iPad itself.
Working with nothing to connect to
A service worker precaches the whole application, including the survey screens, so it loads and runs with the network switched off. The app asks the browser for persistent storage so a multi-day survey is not evicted under storage pressure, and it checks up front that the device has the camera, GPS, compass and storage it needs before a surveyor can begin. Every survey and every photograph is written to the device's own database as it is captured.
Photographs that carry their own evidence
When a surveyor takes a photo, the app processes it there and then. It reads the image's metadata, produces two versions - a compressed one for the report and a full-resolution one for the archive - and burns a watermark onto each showing the date and time, the latitude and longitude, and the compass heading the surveyor was facing. It then writes the GPS data back into the exported image, so the geotag survives being re-encoded. Getting this right on an iPad took real care with Safari's behaviour: the camera only opens within a brief window after a tap, so the location has to be captured without blocking it.
The finished report, generated on the iPad
When a survey is complete, the app builds the deliverable itself. It patches a Word template, walking the full structure of the survey - site defects, external elevations, and floor by floor down to individual rooms and their defects - and places each photograph in position, sized to its orientation, with its location printed underneath. Alongside the document it produces a ZIP of every full-resolution image. For the largest surveys, which can run to hundreds of photographs, that archive is streamed straight into the device's private file storage a piece at a time, so a memory-limited tablet never has to hold the whole thing in memory at once. Loading the images and assembling the archive both run off the main thread, so the interface stays responsive while it works.
A deliberately small backend
The application is hosted on AWS using a serverless stack, but its job there is intentionally narrow: serve the app shell, handle single sign-on, and keep the offline version up to date. In practice the work that matters to a surveyor happens on the device, with or without a signal.
The result
Watts' surveyors work the same way whether they have a signal or not, and every photograph in a report carries the time, place and heading it was taken at. The report that used to be compiled by hand comes out of the app already formatted, which is where most of the manual reporting the team used to do has gone.
Who we are: Si Novi
Si Novi designs and builds web and mobile software for businesses, and runs it for the long term. We take on the parts other suppliers tend to avoid - an app that has to work with no connection, a formatted document generated on a tablet - and build them properly. As an AWS Select Tier Services Partner, we pair deep cloud experience with the browser engineering a tool like this depends on.