SoftBox Fulfillment Software

Feb 2020 - May 2020

 

What’s SoftBox?

SoftBox is a web-based fulfillment software that supported my eCommerce business, DupedWhipz, through increasing fulfillment demands. I ultimately had to write SoftBox as there was no software that existed that could support DupedWhipz effectively. Namely, no software could do all three:

  • Auto-import orders from shopify via the API
  • Produce SVG’s in a special format for my modified laser engraver
  • Track fulfillment status for a packaging employee via a barcode scanner
 

Initial Concepts and Issues

CLI Tool

Below was my first attempt at creating a “SoftBox”-style solution for DupedWhipz: a command line tool!

Example of file generation using the command line. Inefficient and not reliable.
Example of file generation using the command line. Inefficient and not reliable.

This method of file generation was not only unreliable but also extraneous. For instnace, in a situation where I need to generate orders 1100 through 1120, and then 1160 to 1200, there would be no way to do this in one command.

 

Telegram Bot

For my packaging employee, there was no easy way to identify which label corresponded to which set of keychains in front of him. In response, I decided to create a bot for Telegram, a mobile messaging application, to automatically read barcodes and return order information to my packaging employee.

A screenshot from April 2021 depicting the previous workflow relying on Telegram
A screenshot from April 2021 depicting the previous workflow relying on Telegram
 

Telegram was the first big break-through for SoftBox that proved how effective a digitally-managed fulfillment process could be

SoftBox Today

After roughly three months of work after finishing the Telgram bot, SoftBox is a fully web-based app that allows for batch processing, fulfillment efficiency tracking, and advanced table views to easily identify faults in the fulfillment process.

 
The admin interface, seen in the picture above, allows for order syncing (far left), tracking sync (middle left), Batch Excel processing (middle right), and manufacturing control (far right).
The admin interface, seen in the picture above, allows for order syncing (far left), tracking sync (middle left), Batch Excel processing (middle right), and manufacturing control (far right).

File Generation

With batch processing (batches of shipping labels), file generation no longer requires an input range of order numbers. Instead, a user can upload a batch export from any shipping software, which contains information like tracking numbers and order numbers for various customers. SoftBox then automatically syncs it’s local orders database and generates only the keychains for the order in a given set of shipping labels.

 
 

Packaging Worker Interface

Instead of using Telegram to identify labels, workers used SoftBox’s web interface to scan labels with a barcode scanner. Within about 500ms, SoftBox then displays the corresponding order information on screen, allowing the worker to set the fulfillment status of the order to either Unfulfilled, Fulfilled, Defective, or Other. The worker can also see their current packaging speed as well as view a short speed history graph, keeping productivity within a certain range of items per hour.

A view of the worker interface. Batch selection with batch information and a request assistance button (Left), Order scan, status, and performance pane (Middle), Order information pane(s) (Right).
A view of the worker interface. Batch selection with batch information and a request assistance button (Left), Order scan, status, and performance pane (Middle), Order information pane(s) (Right).
 

SoftBox Workflows & Features

Creating a Batch

  1. Labels are purchased from a shipping label vendor.
  1. Label data is exported from shipping label vendor and uplaoded to SoftBox.
  1. SoftBox automatically gathers information from the database, syncing with Shopify if necessary.
  1. SoftBox then automatically distributes keychains into large SVG files that our laser cutter can process, changing text, color, font, and size.
  1. A new batch is available for both an admin to manage and a packaging worker to select.
 

Manufacturing Keychains With SoftBox

  1. Navigate to the Admin interface of SoftBox.
  1. Select the name of the desired batch to manufacture in the Manufacture Sheet” pane.
  1. Press Start Making. The status light will change from yellow to blue indicating that this sheet is in progress. SoftBox automatically copies the sheet SVG file to a network drive for processing.
  1. Once finished, select Mark Finished, in which softbox changes the status to blue.
 
A sheet has started manufacturing, and the corresponding file appears in the network drive.
A sheet has started manufacturing, and the corresponding file appears in the network drive.
 
Once the file has been marked as complete, the file dis removed from the network drive.
Once the file has been marked as complete, the file dis removed from the network drive.

Packing an Order

  1. A packaging worker takes a shipping label and scans it with a USB barcode scanner.
  1. SoftBox retrieves the order information, and displays it on the screen.
  1. The packaging employee packages the order and marks it as Done with a barcode sheet.
On the left, the batch is selected, with information shown accordingly. The middle is where the user scans in the tracking number, as well as packaging performance is actively being updated and displayed. On the right, keychain information is shown. This particular order had only 1 keychain, but orders with more than 1 keychain have more boxes like the "Keychain 1" box that appear.
On the left, the batch is selected, with information shown accordingly. The middle is where the user scans in the tracking number, as well as packaging performance is actively being updated and displayed. On the right, keychain information is shown. This particular order had only 1 keychain, but orders with more than 1 keychain have more boxes like the "Keychain 1" box that appear.

SoftBox’s Behind The Scenes

Back-end

SoftBox relies on a relatively simple code workflow, involving database scripts, a web user interface, and a database Master that ties the entire system together. The system depicted visually:

Let's say a worker just scanned a barcode. The internal process below is then carried out:

  1. A user scans a package with the barcode scanner, and the Web UI takes in the tracking number
  1. Node-RED calls the SoftBox master script with arguments specifying which submethod to execute.
  1. The SoftBox master script passes all other arguments to the submethod and returns the response to Node-RED.
  1. The results are shown on the web interface via Node-RED.

Technical details:

  • There are 15 sub-scripts and 3 categories as of 6/24/2021, where the categories are order-related information, file generation, and worker performance tracking.
  • The Database Master and all sub-scripts are coded in Python 3.7, and the database information itself is stored in JSON files.
 

Front-end

The Frontend was one of the biggest upgrades over our previous Telegram Interface and has drastically improved the packaging performance of our workers.

 

Switching to Node-RED

Node-RED is a web-based flow editing software that runs on Java (NPM), which features a fantastic balance between customizability and efficiency. The flow-based method of Node-RED allowed SoftBox’s UI to both be rapidly developed and quickly change to diversifying needs of SoftBox as DupedWhipz scaled.

A screenshot of SoftBox’s web UI code in node-red.
A screenshot of SoftBox’s web UI code in node-red.

Results From SoftBox

  • 90% reduction in mis-packs, when a label and item(s) are mismatched.
  • Increased time on my end to handle executive tasks and growing DupedWhipz.
  • Over 100% increase in packaging efficiency (items/hour)
 

On top of these quantifiable gains, packaging employees were often undisturbed throughout a batch of usually 200 keychains, allowing them to get into a rythm with less interruptions, helping boost their satisfaction and performance.