Custom Keyboard & Desk Accesories

Announcements, updates and more about

Shippin' Ain't Easy

Dec 9 2015

Shipping stuff is hard. At [CTRL]ALT and Keyboard Community we have learned over time what parts of our shipping work flow can be automated and what needs to be done manually.

This post will cover how we use EasyPost, PrintNode and Slack to make life easier.


'Shipping for developers' couldn't be more true about EasyPost.

We use them to validate addresses, calculate shipping rates and purchase labels during checkout and in our order fulfillment process.

They just added insurance to their API so we are planning on implementing that into our checkout.

They also have amazing customer service!

Slack bot for inquiries and fulfillments

A fulfillment for a recent order, we can print the label and/or invoice remotely via PrintNode.


'Connect any printer to your application with the PrintNode Client and a easy to use JSON API.'

We use PrintNode to ping our printers with a .zpl label and .pdf invoice with just one click. This eliminates the need to view/download the invoice .pdf manually or run a a script to download the label and send it to the printer.

The PrintNode Client is an .app on os x and an installer on windows. They look the same on both operating systems and it works well.

The 'easy to use JSON API' is simple enough, they have a ruby wrapper which helps out. It's also really fast.

The PrintNode interface

The PrintNode interface.


Slack is chartroom tool we use internally now to keep track of all things and related.

Whenever an order comes in, it shows up in Slack in near real-time and we can start to fulfill the order immediately. We can also reprint the label or invoice too!

Slack bot for inquiries and fulfillments

A couple of our Slack notifications, contact form messages (inquiries-bot) and fulfillments.

Our New Printers

If we had slow printers, all this hard work wouldn't be so rewarding. Meet our Canon and the Zebra.

After a bit of research, the best thermal printers out today are by Zebra. The Zebra is a special kindof printer that can only print .zpl format files. Since EasyPost supports .zpl files it seemed like a no-brainer. We have been very happy with it.

Our Canon is fast, it wakes up from sleep for a job in seconds and keeps up with the Zebra. We use it for printing invoices and letters.

Canon LBP 6030w (left) & Zebra ZP 450 CTP (right)

Canon LBP 6030w (left) & Zebra ZP 450 CTP (right).

Let's See It In Action

The video below shows the fulfillment process.

  • First we calculate the shipping rates, select the desired service and purchase the label.
  • An email is sent to the customer with tracking information.
  • We print the label and invoice with just one click. No more copy pasta!