CB Labs

17 — TOOLING · 2026

Lab Inventory

A single-file Flask app that knows what is in every drawer: per-item records and QR labels, printable cabinet labels and a low-stock view.

Built
An inventory app for 56 drawers, with QR labels and printed drawer tiles.
Stack
Flask, SQLite, ReportLab, a Python tile generator.
State
In use.

IN USE · UPDATED 16 JUL 2026

Carter Barnes · cloud engineer, federal Azure · Contact

Screen capture · The inventory dashboard.

What it is

Fifty-six drawers across four cabinets is an unsearchable pile of components. This makes it searchable: every item gets a record, a QR code and a label, and a low-stock view says what to reorder before I run out mid-build.

It is one Python file and one SQLite database. Every quantity change is logged as a movement, with a reason and, when there is one, the project the parts went to.

How it works

App
Flask and SQLite in one app.py; it starts with a double-click.
Labels
ReportLab PDF sheets with a QR code per item. Scan it, get the record.
Reorder
Each item carries a reorder threshold; the reorder page lists everything at or under it.
Cabinet tiles
Two-part 3D-printed drawer labels: a 0.6 mm base and 0.8 mm raised text, part name large with a two-word description. Text shrinks to fit the tile.
Tile generator
The drawer map is a list of part names and descriptions in one script. Edit a string, re-run it, and the plates regenerate, laid out to fit the A1's bed.

By the numbers

56
drawers across four cabinets
104
unique parts on record
386
pieces counted
1.4 mm
printed tile: 0.6 base, 0.8 raised text

Decisions

  1. 01

    The physical output is the product

    A database that lives only on a screen changes nothing; a label on a drawer does.

  2. 02

    Single file, single database, minimal dependencies

    Right for a tool with one user. Few dependencies to rot, and it will still run in three years.

What I learned

  1. 01

    QR codes solve the naming problem

    There is no good short name for the 4.7 kΩ 1% 0805s from the second reel. There is a good QR code for it.

  2. 02

    Drawer tiles are plain text you can read from the chair

    Item records keep their QR codes, but the printed drawer tiles moved to plain text: big type you can read from the chair.

Next · 18 / 18Swing Set Design SystemSeven AI-agent skills in six stages that turn a backyard, a budget and a reference photo into a build package, with a safety audit that can refuse to proceed.