Skip to content

About

Local-first inventory and studio planning for instruments and audio gear — photos, receipts, manuals, QR labels, mobile access, and backups.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Studio Inventory — local-first gear catalog, documentation, and studio planning

Latest release CI status MIT license Windows, macOS, and Linux Local first

Know what you own. Find what you need. Protect what matters.
A local-first inventory and studio-planning app for instruments, audio equipment, accessories, documents, and software.

Download · Wiki · Discussions · Issues


Meet Studio Inventory

Gear collections grow one cable, bracket, instrument, and impulse purchase at a time. Studio Inventory gives musicians, engineers, rehearsal spaces, schools, collectors, and small studios one place to track the equipment itself—and the details that make it useful later.

  • No subscription or cloud account. The database, photos, receipts, and manuals stay on the host computer. See Privacy and defaults for the short list of things that can reach the internet.
  • Ready for real equipment chains. Nest a drum pad under its mount, the adapter under that, and the paid thumb screws under the adapter.
  • Useful away from the desk. Add photos and scan labels from Android Chrome/Edge or iPhone/iPad Safari on the same trusted network.
  • Built for proof of ownership. Track serials, values, receipts, condition, warranties, manuals, and insurance notes.
  • Comfortable everywhere. Responsive, touch-friendly layouts work on phones, tablets, desktops, and large displays.

A quick look

Dashboard showing documentation health, values, and inventory status Browse inventory by equipment brand
Dashboard — value, documentation, loans, and recent activity Browse by brand — a visual path through the collection

What it can do

Catalog and protect Organize and connect Plan and operate
Serials, values, condition, warranties, receipts, photos, and insurance reports Smart profiles, nested components, compatibility history, tags, manuals, and searchable PDFs Room layouts, calibrated wall views, rack and signal-chain planning, loans, and binder printing
Signed QR owner labels and read-only guest links Cables, mounts, fasteners, patchbays, monitors, instruments, drums, and software licenses Mobile photo capture, responsive PWA, brand browsing, documentation scoring, and backup/restore

Smart profiles understand the shape of the gear

Choose an Item Type / Smart Profile and the form reveals useful fields for that kind of equipment. Profiles cover brass and bowed strings, guitars and basses, acoustic and electronic drums, pads and cymbals, mounting hardware, fasteners, cables, patchbays, racks, and studio monitors.

Electronic drum kit
└── Alesis ControlPad
    └── Gibraltar adapter clamp
        └── Mounting thumb screws

Every record can keep its own price, receipt, photos, specifications, and compatibility result. Parent records show the complete assembly value.

What's new in 2.9.2

  • The app has its own icon on the desktop, in the Start menu and on the browser tab. The Windows launcher and installer previously shipped without one.
  • Stopping the app is easier to find. Help & About now opens with a Stop Studio Inventory button, because closing the browser tab leaves the server running.

Nothing about your catalog changes and there is nothing to read before updating: 2.9.2 release notes.

2.9.1

A security and reliability release; nothing about how you catalog gear changed.

  • Updates can no longer lose your catalog. Installers move data/ into the new version with a single rename and put the previous version back if any step fails.
  • A proper way to stop the app on every platform: Help & About → Stop Studio Inventory, or Stop Studio Inventory in the Windows Start menu. Installers ask the app to stop instead of ending it abruptly, so the catalog closes cleanly.
  • A server log at data/logs/studio-inventory.log, viewable in Help & About → Server Log. On Windows, where the app runs without a window, this is the only place error details appear.
  • Backups stream to disk, so large photo and manual collections no longer have to fit in memory.
  • Stricter defaults: look-alike host names are refused, reverse-proxy requests always need the owner PIN, guest links hide prices and notes, and downloads refuse addresses on your own network.
  • Node.js 22 or newer is required when running from source. Release downloads include the right runtime.

Full details, including behavior changes to read before updating: 2.9.1 release notes.

Install

Pre-built releases include the runtime and production dependencies—no separate Node.js installation is required.

Platform Recommended download Start here
Windows Windows-Setup.exe Run setup, then launch Studio Inventory
macOS .dmg Open the image and run the installer; if macOS blocks it, see allowing it once
Linux x64 .tar.gz Extract and run Install Studio Inventory.sh
Portable use Platform ZIP Extract and use the included launcher

Download the latest release →

Existing inventory lives in the local data/ folder and is preserved by release installers. Create a Full Backup ZIP before any upgrade.

To stop the app, use Help & About → Stop Studio Inventory (or Stop Studio Inventory in the Windows Start menu). Closing the browser tab leaves the server running.

Platform guides: macOS · Linux · Wiki installation guide

Phone and tablet access

  1. Start Studio Inventory on the host computer.
  2. Open Backup & Restore and set an owner PIN of at least six characters.
  3. Connect the phone or tablet to the same trusted Wi-Fi network.
  4. Open the LAN address shown by the app and enter the PIN.

Android Chrome/Edge and iPhone/iPad Safari support inventory editing and photo capture. Live barcode video requires HTTPS; the regular LAN address provides Take a Label Photo and signed QR links instead.

Important

Do not forward port 3847 to the internet. Normal LAN HTTP traffic is not encrypted. Use trusted WPA2/WPA3 Wi-Fi, HTTPS, or a VPN. Behind an HTTPS proxy with its own host name, add that name to STUDIO_ALLOWED_HOSTS (see SECURITY.md).

Your data stays understandable

Location Contents
data/inventory.db SQLite catalog
data/uploads/ Photos, receipts, manuals, logos, software, and studio images
data/manual-inbox/ Files waiting to be attached to an item
data/backups/ Suggested destination for backup exports
data/logs/ Server log (studio-inventory.log). Share links and PINs are masked.

The app supports Full Backup ZIP, JSON, SQL, CSV, and PDF exports. Full Backup ZIP is the complete recovery format because it includes managed files as well as the database.

Important

If you turn on catalog encryption, the key is deliberately not stored in data/. It lives in the operating system's credential store — Windows DPAPI (%APPDATA%\Studio Inventory), the macOS Keychain, or libsecret on Linux — and belongs to your user account on that computer. Copying data/ to another machine is not enough to open an encrypted catalog there: keep the recovery key the app shows you, or restore from a Full Backup ZIP.

Privacy and defaults

Studio Inventory keeps your catalog on your own computer. A few features can reach the internet, and the ones that send anything are off until you turn them on.

Feature Default What leaves the computer
Version check On An HTTPS request for terkwerx.com/downloads/studio-inventory/latest.json at startup, cached for six hours. It asks for a file; it uploads nothing about you or your gear. Set STUDIO_SKIP_UPDATE_CHECK=1 to switch it off.
Brand logo lookups Off When enabled in Brands, the brand's website name goes to unavatar.io, Google and DuckDuckGo. The manual Fetch logo buttons work either way.
DYMO label printing Off When enabled in Owner Labels, the page loads DYMO's Connect framework from DYMO's own host. Left off, every script comes from this computer, and Print Selected (Browser) still prints the same labels.
Manual and installer downloads On request Only the address you paste. Addresses on your own computer or local network are refused unless you set STUDIO_ALLOW_PRIVATE_DOWNLOADS=1.
Guest links and QR labels Off until created Nothing is uploaded. Guest links are read-only and hide prices, receipts, notes and borrower details; a QR label opens only its own item.

Nothing is sent to the project maintainers, and there is no analytics or crash reporting.

Run from source

Requires Node.js 22 or newer.

git clone https://github.com/TerkWerX/STUDIO-INVENTORY.git
cd STUDIO-INVENTORY
npm install
npm start

Open http://localhost:3847. To explore with sample equipment, run npm run reseed before starting.

npm test              # API, restore, security, and browser regression suite
npm run test:api      # server and API tests
npm run test:browser  # Playwright UI tests

Technology

Node.js · Express · SQLite (better-sqlite3-multiple-ciphers, so the catalog can be encrypted at rest) · vanilla JavaScript modules · Playwright · local filesystem storage

There is no frontend build step. The server exposes the API and serves the responsive web app directly.

Documentation and community

Need Go to
Learn the main workflows Project wiki
Ask a question or share an idea Discussions
Report a reproducible problem Issues
Help improve the project Contributing guide
Report a security concern Security policy
Get installation help Support guide

Curious contributors are welcome. Documentation fixes, additional equipment profiles, accessibility improvements, browser testing, and thoughtful feature ideas are all useful.

License

MIT © 2026 TerkWerX

About

Local-first inventory and studio planning for instruments and audio gear — photos, receipts, manuals, QR labels, mobile access, and backups.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages