Project Jawa

A fulfillment warehouse web app for order procession and hardware provisioning.

What

Jawa is an internal web application built for fulfillment to replace the old Flash based fulfillment software. It is an AngularJS application hosted out of S3 with CloudFront and uses Drupal as a backend proxy to integrate with our other services.

Why

The pre-existing fulfillment app is a Flash application that currently only works on Windows XP. So this presents a number of problems spanning from running the application to developing the application all while browsers are sunsetting the use of Flash.

It was designed as a response to the following needs:

  • Phase out the outdated SS2 Flash-based fulfillment software
  • Pair sensors to systems over the air in the fulfillment process
  • Fulfill new generation of SimpliSafe hardware
  • Speed up the fulfillment process
  • Track inventory as it is processed in the warehouse
  • Gain analytic metrics used to drive business decisions

Context

SimpliSafe is technology leader, designing and developing self installed wireless home security systems. Our SimpliSafe systems are comprised of various types of devices from keypads to cameras and from motion sensors to glass break sensors that are paired with the Base Station as the central communication device. As part of the user experience journey, it is expected that all system devices already be paired the Base Station when a user receives the system that they ordered and therefore reducing friction in the install process. It is the fulfillment software’s responsibility to pre-pair these devices before they are shipped to the customer. With the flash based software, a fulfillment user would use a usb drive to transfer pairing information from the computer to the Base Station.

Involvement

  • Technical and Design Lead, working directly with CEO and COO to redesign and replace flash-based fulfillment software
  • Assisted and advised with defining project requirements
  • Designed user experience flow
  • Designed user interface components
  • Oversaw and implemented user experience research
  • Developed the frontend UI components
  • Developed the backend APIs and services
  • Maintained software and feature integrations

Jawa: The Design Process


Problem:
Through user testing it was observed that one of the primary sources of fulfillment-time errors resulted from a lack of validation. Fulfillment reps could enter in any input for a device as long as the length was correct. This caused device parings to fail silently as orders were being processed. The result of this issue was not user negligence, but rather it was caused by devices barcodes not having anything to validate against. Because of this, the software had no way of knowing what types of products had been scanned, only that a product had been scanned.

Solution:
In order to fix this problem we started with the source of the problem: the barcodes. It became clear that we needed a standard barcode format that would span across our product line that would address the issues with validation. I worked on creating the requirement of our new generation of products barcodes so that we could catch fulfillment errors before they got to the customer.
This new barcode format allowed us to know exactly what was scanned, which allowed me to design a workflow that was no longer reliant on devices being scanned in precise order in order to match the barcode to item. Now users could scan any device in any order and new software would match it correctly. This change resulted in faster order fulfillment times as well a decrease in errors resulting from pairing mismatches. All together, this created less friction for the end customer which reduced the amount of customer support calls related to pairing mismatches.