As of right now, it's tedious and complex to keep track of multiple packages shipped by UPS, especially on the commercial side for frequent sellers. You often have to set up notifications as defined by UPS and on an individual basis.

What it does

Package Camel centralizes this information into a dashboard to facilitate the tracking process. It also allows for opting in via email to particular stages of the shipping process to stay in the loop at all times for your packages, regardless of whether you are the buyer or seller.

How I built it

We used Node.js to build the backend. We essentially store the packages we'd like to track using MongoDB and update periodically, typically on an hourly basis. Emails can be configured to send out thanks to the SparkPost API and we fetch tracking information using the UPS API.

Challenges I ran into

We had a lot of trouble setting up the domain for SparkPost with verification issues, waiting on the propagation as well as failing to receive emails for domain registration. We spent a lot of time on these setup steps, but we pushed through and made up for it. We used a personal domain and set up the MX entries and DNS records through cPanel on a subdomain.

Accomplishments that I'm proud of

We managed to keep pushing through, despite the lost time, and made a great amount of progress.

What I learned

We learned a lot about setting up automated emails, running periodic checks on the database, and more about writing a web app in Node.js.

What's next for Package Camel

We'd like to expand it to other carriers aside from UPS and be able to search and sort through packages. It'd be great to get signature information (copies and other data aside from a name) as well.

Share this project: