The #1 Enterprise solution for making sure you remember all your shit. Packingdb is web scale.

packingdb is a small Go program I wrote to manage my packing lists. I have tried hard-copy lists, and briefly spreadsheets, but there are too many variables to account for when deciding what to bring on a trip:

  • How long is the trip? Some items will vary in count (socks), but others won’t.

  • How warm or cold will it be? I’ll need some items when it’s warm, others when it’s cold.

  • What type of trip is it? I need very different things if I’m going camping versus on a business trip.

I managed to encode all of this logic in a giant, nearly-functional set of data structures in Go: example. The items themselves can be basic (do I pack it or not) or complex (does the count vary based on how long the trip is and does it only apply at certain temperatures).

I’d say it was a bit overkill except that since I’ve started using it I’ve never forgotten to pack something because it wasn’t on the list1.

Name: Florida
Nights: 3
Temperatures: 60 - 80
Properties: Bright, DiningOut, Flight, HasToiletries, Lodging, NoCheckedLuggage, Sweat, Swimming
✔ Pack
Use the arrow keys to navigate: ↓ ↑ → ←
Packing Menu
    ↩ Back
    Show All Categories
    Hide Packed
     ⊟ Clothing
      ○ 3 pair of underwear
      ● 3 pair of socks
      ● sneakers
      ● pjs
      ● 1 pair of shorts
      ● 1 pair of jeans
  ▸   ○ 3 tshirts
      ● longsleeve for under tshirt
      ● shirt for flight
      ● light jacket
      ● sleep earplugs
      ● eye mask
      ● tevas
      ● nice dinner clothes
     ⊟ Entertainment
      ● 2 books
↓     ● 35mm camera

Why an ugly terminal application?

Because that’s all it needs to be. I could write a web front end for it, something that uses AJAX and cute animations to navigate the packing list. But doing so wouldn’t add any functionality to what I have working right now. I suppose being able to mark items as packed on my phone could be more convenient than doing so on my laptop, but I spend so much time looking at my phone already, I kind of like the old school Nethack-like experience of scrolling through a text inventory list.

  1. Sometimes the weather report predicts no rain so I ignore the suggestion to pack a rain jacket. This is always been a mistake. ↩︎