← all builds

From-Scratch Build · IT Asset Management

Asset Inventory System

A self-hosted system for tracking every piece of equipment in a lab — what it is, where it lives, and who has it right now. Built from scratch to learn how IT asset management actually models the messy real world of laptops, licenses, cables and people.

Asset trackingCheck-in / outQR codes CSV importCategories

What it is

Knowing what you own, and who has it

An asset inventory system answers two questions that get surprisingly hard at scale: what do we own? and where is it right now? In a busy lab, equipment is constantly borrowed, returned, lost and replaced. Without a system, the answer to "who has the spare laptop?" is a group chat and a shrug.

I built this as a documented, self-hosted inventory. The heart of it is a clean classification: every physical or digital thing is sorted into a category, given an asset tag, and checked out to a person when borrowed. Settings define the structure — categories, models and locations — so the data stays consistent as it grows.

The core idea I wanted to learn: good inventory is a taxonomy problem before it's a software problem. Decide cleanly whether a thing is an asset, a consumable, an accessory or a component, and every later query — depreciation, restocking, who-has-what — falls out naturally.

The model

Six ways to classify a thing

Everything in the inventory is one of these. Getting the category right is the whole discipline.

trackable

Assets

Durable items of value the organisation owns and uses — laptops, desktops, servers, phones. Each gets a unique tag and a lifecycle.

software

Licenses

Permissions to use software or a service, with seat counts and expiry dates — the digital equivalent of an asset.

peripheral

Accessories

Supporting hardware like mice, keyboards and monitors — not the main device, but checked out to people all the same.

used up

Consumables

Items depleted with use — toner, ink, paper. Tracked by quantity so you know when to reorder.

internal

Components

Parts inside a larger asset — CPUs, RAM, drives. Essential, but not standalone devices.

holders

People

The users equipment is assigned to. This is what turns "we own a laptop" into "Edu has this laptop."

Structure

Settings that keep data clean

Before adding a single item, you define the scaffolding. Three setting types enforce consistency so the inventory doesn't decay into free text:

  1. Categories

    Logical groups like "laptops" or "wireless keyboards." Every asset and accessory must belong to one, and categories carry inherited rules — such as whether to email a user on checkout.

  2. Asset models

    Templates for creating assets, capturing shared attributes — manufacturer, category, custom fields, depreciation. Standardisation, so two identical laptops are described identically.

  3. Locations

    Where things physically live. A shelf can be addressed like coordinates — shelf 2, row 4, column 5 — so an item's spot in the lab is unambiguous.

  4. QR codes

    Each asset gets a QR code; scanning it on a phone opens that asset's detail page instantly. The bridge between the physical shelf and the digital record.

Workflows

Importing, checking out, checking in

Once the structure exists, day-to-day use is a small set of repeated actions:

In my build I focused on the documentation and data model — the rules that make a shared inventory trustworthy rather than just a spreadsheet everyone ignores.

Reflection

What rebuilding it taught me