Photo-driven parts inventory

Point your phone at a part.
Claude knows what it is.

Scan a resistor, a sensor, a mystery board from a teardown. my-inventory grabs the photo and Claude reads it, filling in the name, category, specs and condition, then files it in the right bag. You never type a part number. You never even type a name.

๐Ÿ“ธ Scan with your phone ๐Ÿง  Claude fills in the details No part numbers to type Ships a ~60-item live example
localhost:8770/dashboard
A dashboard of parts that Claude identified from photos: each card shows the part image plus a name, category, condition and bag location.

You photograph it. Claude catalogs it.

The part in your hand is the only input. No SKUs to look up, no datasheets, no typing names that rub off the bag a month later.

๐Ÿ“ธ

You snap

Hold a part up to your phone (Continuity Camera) or any webcam. Take a few shots: the part, the label, the back of the board.

โ†’
the magic
๐Ÿง 

Claude recognizes it

It reads the photo and identifies the component: name, category, condition, plus specs and SKU lifted off the label. Unsure? it flags the value for you to confirm.

โ†’
๐Ÿ—‚๏ธ

It's filed

The part lands on your dashboard with its photo, quantity and bag, instantly searchable and shareable with whoever you want.

Hosted on your VPS. Scanned from your pocket.

Run the dashboard on your own server so it's always on and shared at one URL. Scan from any browser, and a Claude watcher on your machine does the identifying in the background.

YOUR DEVICES ANYONE scan & upload photo identified live & shareable ๐Ÿ“ฑ Phone camera ๐Ÿ’ป Laptop camera โ˜๏ธ Your VPS my-inventory ยท live dashboard โ— always on ยท one URL ๐Ÿง  Claude watcher runs on your laptop / desktop polls the VPS ยท identifies ยท writes back ๐Ÿ‘ฅ You & collaborators view anywhere, read-only
1Scan on your phone or laptop. The photo uploads to the dashboard on your VPS.
2A Claude watcher on your machine spots the new upload, pulls the photo, and identifies the part.
3It writes the result back to the VPS, so you and anyone you share the link with see the live catalog.

From a part in your hand to a catalog entry

Three steps, and the only thing you type is the bag it goes in.

Step 1 ยท Scan

Hold the part up to your phone

Open your inventory's live site (it runs on your own VPS, always on) on your phone or laptop and point the camera at the component. A phone over macOS Continuity Camera works great. Snap the part, the label, the back of the board: as many shots as you want for one item.

The capture page with a live camera view, a photo strip for the current item, and the running inventory beside it.
Step 2 ยท Claude identifies

Claude reads the photo and names it

This is the part you don't do. A Claude watcher on your machine spots the new upload on the VPS, reads your shots, and writes back the name, category, condition and the specs and SKU printed on the label. It catches duplicates, orders the part photo first, and flags anything it isn't sure about so you can confirm it.

Identified parts on the dashboard, each with a Claude-written name, category tag, bag location and notes.
Step 3 ยท Find & share

Search it, share it, restock it

Filter by category, location or free text and read the bag map at a glance. Send a collaborator a read-only link to the whole catalog. Keep a "to buy" list for what you're out of, with a public endpoint so an agent can request a part with no login.

The to-buy page listing purchase requests with project, type, reason, quantity and a status dropdown.

What you get

Built around recognizing the part, not around a spreadsheet you have to feed.

๐Ÿง 

Claude identifies the part

Name, category, condition, specs and SKU read straight off the photo. The image is the source of truth; the metadata writes itself.

๐Ÿ“ธ

Scan with your phone

Multiple shots per item from Continuity Camera or any webcam. The photo that shows the part becomes the card thumbnail automatically.

๐Ÿท๏ธ

Reads the label too

Point it at the back of the bag and Claude lifts the SKU, pack count and specs, then merges them into the entry it already made.

๐Ÿ—ƒ๏ธ

Duplicate-aware

Re-scan a part you own and it surfaces a card to top up, set, or split the stash by bag. No silent double entries.

๐Ÿ”“

View public, edit private

Share a read-only link with anyone. Editing is gated behind a login. Manage users from the dashboard.

๐Ÿ›’

"To buy" list for agents

An MCP server lets an agent search your stock and request a part it needs with no credentials. Mark it bought when it arrives.

Open source, and entirely yours

my-inventory is a small, self-hosted app with no database and no build step. Your photos and data stay on your machine or your own server. Run it locally in one command, or put it behind Docker or Caddy to share.

Bring your own Claude setup to do the identifying, or skip it and type names yourself. Either way the inventory is yours.

Read the docs on GitHub
terminal
# clone, run, open the dashboard
git clone https://github.com/m-esm/my-inventory
cd my-inventory
python3 server.py
# โ†’ http://localhost:8770/dashboard

Stop guessing what's in the bag.

Scan a part, let Claude name it, and have a searchable catalog of your whole stash in an afternoon.

git clone https://github.com/m-esm/my-inventory