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!
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.
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.
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.
SoftBox Workflows & Features
Creating a Batch
- Labels are purchased from a shipping label vendor.
- Label data is exported from shipping label vendor and uplaoded to SoftBox.
- SoftBox automatically gathers information from the database, syncing with Shopify if necessary.
- SoftBox then automatically distributes keychains into large SVG files that our laser cutter can process, changing text, color, font, and size.
- A new batch is available for both an admin to manage and a packaging worker to select.
Manufacturing Keychains With SoftBox
- Navigate to the Admin interface of SoftBox.
- Select the name of the desired batch to manufacture in the Manufacture Sheet” pane.
- 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.
- Once finished, select Mark Finished, in which softbox changes the status to blue.
Packing an Order
- A packaging worker takes a shipping label and scans it with a USB barcode scanner.
- SoftBox retrieves the order information, and displays it on the screen.
- The packaging employee packages the order and marks it as Done with a barcode sheet.
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:
- A user scans a package with the barcode scanner, and the Web UI takes in the tracking number
- Node-RED calls the SoftBox master script with arguments specifying which submethod to execute.
- The SoftBox master script passes all other arguments to the submethod and returns the response to Node-RED.
- 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.
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.