• Public Sector
  • Mobile
  • Web
  • Offline First

The EAO safety inspection app is a modern field application for Enforcement Officers and by incorporating GPS, an offline first approach, and media attachments, they can now submit inspections from their mobile devices, completely eliminating manual data entry.

Developed for

Project Summary

In early 2016, FreshWorks started working with the BC Environmental Assessment Office as an application development and IT operations support. Our team developed a modern field application for EAO’s Enforcement Officers to replace their archaic paper based inspection process.

FreshWorks implemented REST API architecture to communicate with the backed server hosted on OpenShift environment and worked with Siteminder to authenticate field inspectors. A modern web portal was built by Freshworks to allow EAO office staff to manage field officers, inspection schedules, reports and other related artifacts. Our team conducted several field studies with actual inspectors to garner accurate and sufficient application requirements outside of the contracted work. The project was successfully launched early 2018 and is currently in controlled usage.

The Challenge

In late 2016, The Environmental Assessment Office (EAO) of British Columbia approached FreshWorks with a problem: an internal inspection paper process they wanted to streamline with the use of technology. The previous workflow required Enforcement Officers who conduct inspections regarding the environmental, social, economic, health, and heritage effects of large projects happening within BC to record their findings on paper inspection forms.

By incorporating GPS, an offline first approach, and media attachments, Enforcement Officers can now submit inspections from their mobile devices directly into a separately hosted administrative portal (also built by FreshWorks) completely eliminating manual data entry. Both the web portal and mobile app come packed with a variety of features to both augment and synergize the entire inspection process, eradicating the need for tedious paper forms, and allowing future inspectors to focus on the important stuff – looking after our beautiful province.

The Solution

Working collaboratively is our motto so developing the EAO application began no differently. The FreshWorks team worked closely with EAO stakeholders, product owners, and Enforcement Officers (occasionally even joining them in the field), in order to effectively understand the existing EAO inspection process and identify pain points which we hoped to improve with the use of an app.

After the launch of an MVP (Minimum Viable Product) iOS Inspection app in 2017, EAO returned to FreshWorks in February 2018 sparking a new beginning – the development of an inspection management web portal, to be completed by the end of the following month. Despite this seemingly-impossible timeline, FreshWorks was able to deliver EAO’s request.

We knew the development of this application would not be a one-stop-shop and was going to take some serious planning if we wanted to get it just right. FreshWorks conducted weeks of research, intensive requirements gathering, wireframes, workflows, prototypes, refactoring, and iterations, before the release of the current MVP. One of the safety inspection app’s coolest features was the ability for inspections to be submitted offline – without network connectivity, reports can be stored locally and will submit automatically once reconnected to wifi. This feature proved to be an integral technical solution to the problem of spotty and sometimes non-existent networks in the great outdoors.

Integrating the solution into the existing inspection architecture was another essential part of our work with EAO. We used REST APIs to communicate with an existing EAO server hosted on OpenShift, and worked with Siteminder to authenticate field inspectors. Additionally, all of the naming styles (for inspection data) were based on current NRS standards, to make sure the app would perform optimally in its existing environment.

The Features

Web Portal - Inspectors
Web Portal - Admin Users
The main responsibility of an EAO Enforcement Officer is of course, to conduct Inspections - so we placed a special emphasis on this feature when developing the mobile safety inspection app.
From the main screen, users can view their submitted inspections, as well as edit or view their drafted inspections. They can submit "in progress" inspections, however are unable to edit submitted inspections to preserve data integrity. Users can also create new inspections, from which they can link an existing EAO project which fetches real time data every time a user's mobile device is connected to wifi, and stores previously fetched data in cases where network connectivity is spotty or non-existent.
Additionally, users can add "Inspection Elements" to their reports including images, video, and/or voice memos, which are automatically GEO-tagged, as well as date and time-stamped - eliminating the need for officers to enter this data manually.
Inspectors can now access and manage all of their inspection reports in one centralized location: the EAO Web Upload Center.
Here, Inspectors can view not only their own inspections, but inspections submitted by other members of their internal team, as well as individual members of their team.
Inspectors can also download individual reports or team reports in bulk as a single PDF.
EAO Administrators can also access inspection data using the EAO web portal, as well as manage inspection actions, inspector information, and inspection teams.
Administrators have the ability to change specific permissions for existing users, create and edit teams, add or delete users, and view inspections. They can also control which inspections are available for download, to protect reports which main contain sensitive data.

Technologies Used

The iOS app was built in Swift utilizing MapKit, offline synchronization, and a custom-built ERP integration. The Android app was built using the Kotlin programming language.
The backend relies on NodeJS and Parse, while the frontend was built using Angular2 and ExpressJS. The underlying database is MongoDB.

Download the App

Want to Create Something Remarkable?