Architecting Apps that Duplicate Human Processes

Bixly has recently been working on an app in the agricultural space that helps workers duplicate a process that was formerly done with good ol’ pen and paper. We have built apps for agricultural related companies before and were excited to leverage our experience in this industry to build an app that runs beautifully.

The End-to-End Process

Farm phoneAs we talked about with Overflow, if you are building an app that is functionally replacing a human-operated process, it’s important to make sure you understand the process end-to-end. The minute you automate it, is the moment you lose visibility into what exactly is going on. This particular agricultural app helps a company measure produce quality. Previously this was all done on paper, but as you can imagine, the process is not merely filling out a form. There’s an end-to-end process that starts with incoming clients who need their produce reviewed and ending with those clients receiving their report. With a diverse and remote staff, fulfillment could often be a logistical nightmare. While technology absolutely can make this logistical overhead shrink magnificently, it also has some attendant problems that you don’t have with a ball point pen.

Mobile Service

ProduceQuite simply, cell service inside large produce warehouses is spotty at best. Even if the location of the farm is in an area with cell service, being inside the warehouse itself can present a problem. For this app we built it on Angular 9, to support both iOS and Android. The backend was built with NodeJS with Express, while the admin is built on React. To build an app with complex and robust offline capabilities, we used a cached approach. When the app starts up, it checks to see if the user has service. If they do, it downloads the latest data. If not, it uses the last known good data. The only time a user must have data is when they first download the app and initially create an account. It also uses a recurring loop for certain data which gives the user control over when they refresh. Pushing data from the mobile device to the backend is fully automatic, but the user chooses when they want to refresh due to the inconsistent connections they may have.

Solving the Full Problem

By providing a reliable mobile solution for remote workers deployed to produce warehouses, we have solved the core issue. However, the app also has an admin which allows headquarters to administer their team and collate reports. Within the admin, the managers can assign tasks and projects and receive and compile the results from their audits. Auditors fire up the app each day to get their new tasks and jobs, complete the review process, and submit the results when they are back in an area with service.

In this way, the solution is truly end-to-end, solving the logistical problems of pen and paper and the new ones that became introduced with the cell technology itself. Simple solutions are rarely simple to build, but it is a joy to provide a client with an app that truly serves their needs.

Have an app idea? Connect with us today!