Alex Fedoseev
2021, 11 Apr

Home Inventory

At the time when I was taking pictures with my phone, I rarely had a problem finding or identifying my stuff. But ever since I went into photography, things got out of hand pretty quickly. Every new piece of gear comes with a number of small accessories that I need once in a lifetime, but when I need them, I have no idea where they are or even what they look like.

The time has come to put things in order. Once and for all.

Goals

  1. When I need something, I should spend little to no time looking for it.
  2. There shouldn’t be any random, unidentifiable things floating around.

Database

I use Notion as a database of things.

Quick spoiler: items in a database.

2 items from the database

The example database, which we will start building in a sec, is shared here:

You can fork it, poke it, and use it as a starting point for your own thing.

Creating a database

Create a new page called Inventory and make it a database with the default Table view:

Adjust initial properties:

  • Name: the name of an item. Notion should create this property, and it can be left as is.
  • Tag: used as a category. This property should be created for you as well. The only change I made was that I changed its name from a plural (Tags) to a singular, since I assign at most one tag to each item. E.g., Tech, Photo, Travel, etc.
  • URL: a new property of type URL to store the URL of a product page to access manuals, to re-order items, etc.

You can also turn off wrapping cells so that URLs wouldn't break the table's layout.

A menu under the ... button

The initial table should look like this.

Where the heck is this thing?

The primary goal of the database is to quickly provide information on where I can find a specific item. The Notion's feature called Relations will help us with it.

Let's create the first entry.

  • Name: Keychron K3 Keyboard
  • Tag: Tech
  • URL: https://www.keychron.com/products/keychron-k3-wireless-mechanical-keyboard

This database is going to contain not only things like laptops, keyboards, cables, etc., but also entries where these things are located, such as containers, closets, desks, etc. Since the keyboard we just created is located on the work desk, let's create its entry next.

  • Name: Work Desk
  • Tag: Spot
  • URL: -

Once all the base stuff is created, the next step would be to relate the two created entries. I.e., the Keyboard is at the Work Desk and the Work Desk contains the Keyboard.

Add a new @ property of type Relation:

In the appeared window, choose the database we're in — Inventory. And then pick an option Create a new property.

After you confirmed creation by clicking the Create relation button, you should see two new properties created: @ and Related to Inventory (@).

Rename the Related to Inventory (@) one to Contains.

Open the Keychron K3 Keyboard item and update its @ field: click on it and select Work Desk.

Next, open the Work Desk entry, and you should see that the field Contains is set to the value Keychron K3 Keyboard automatically.

It doesn't matter which field you set, @ or Contains, once one of the fields receives a value, the related field will be properly linked automatically.

Accessories

One more useful relation I have in my database is the one that indicates that item X is an accessory of item Y (or, the other way around, Y has an accessory X). This way I can easily see that this device is compatible with the following cables or can be charged using the following batteries, etc.

Such a relation can be added using exactly the same technique as used for @ / Contains fields. In the same way as @ was added, add a new relation property called Accessories and, when it's done, rename the auto-created Related to Inventory (Accessories) property to Accessory of.

Storage

I want things I don't use often (like 90% of the stuff I have) to be hidden from sight, but at the same time, be easy to find when I need them. It would require some hardware.

  • Boxes. I use Ikea's.
    • Rabbla, if a box is in an interior.
    • Samla, if it's hidden in a closet.
  • Sticky tags
  • Permanent markers
  • Zip storage bags
Hardware

Each box has its own unique identifier. It might be a simple number or letter, such as 1, 2, 3 or A, B, C, but I prefer generating random combinations, so in case if at some point I will want to re-shuffle boxes, I won't be suffering from |1| |3| |2| |4| situation.

I suggest generating a list of unique random identifiers and taking IDs out of it as you go. You can use any online service out there to get such a list.

The workflow I settled on looks like this:

  1. Figure out what should live in a specific box and where this box should be located.
  2. Add all items that will be placed in the box to the database.
  3. Take an identifier from a generated list and put it on a sticky tag using a permanent marker.
  4. Slap this tag on the box.
  5. Add an entry corresponding to this box to the database.
  6. Fill in the @ field for the added box.
  7. Add each item that lives in the box to the Contains field of this box in the database.
  8. Repeat with the next box.

Let's apply this workflow to the following use case. Keychron keyboard comes with several accessories, including a keycap puller. I don't need it often, and I definitely don't want things like this to hang around my work desk.

  1. There is an empty box inside the storage near my work desk (the latter has a corresponding entry in the database named Work Desk Storage).
  2. Add Keychron K3 Keyboard Keycap Puller entry to the database.
  3. Take the ABC identifier from a generated list and put it on a sticky tag using a permanent marker.
  4. Slap this tag on the box.
  5. Add this box to the database as Rabbla Small Container: ABC.
  6. Set its @ field to the Work Desk Storage entry.
  7. Add Keychron K3 Keyboard Keycap Puller to the Contains field of Rabbla Small Container: ABC box in the database.

The result would be something like this:

Now, if you need this puller:

  1. Go to the database.
  2. Search for the keycap puller.
  3. See that it's in the Rabbla Small Container: ABC, which is in the Work Desk Storage.
Here it is!

Big boxes

Big boxes fit more stuff and can be more convenient to store than a bunch of smaller boxes. But in a large box, things are more difficult to organize. E.g., I want to store accessories of 2 different backpacks in a single box, plus several other things, but I don't want them to mix with each other. To sort it out, I use zip storage bags and the same old sticky tags. Each group of accessories goes into its own zip storage bag, and the tag with the item's name gets slapped to the bag.

... And one more thing

Use sorting. I sort my tables by Tag and by Name.

Prefix all accessories with the name of the item whose accessory this item is. E.g., Keychron K3 Keyboard Keycap Puller. So in the table, all related items are grouped.

Place a box ID right in the name (instead of a stand-alone ID property) so it's easier to spot a specific box in a relation list.

Create additional views with filters, such as for items with missing @, so you can easily spot them and clean up a mess later.


It took me around 3 weekends to get things sorted. Worth it!