You're running from the Downloads folder which blocks camera in Chrome. Host the file for free:
1. Go to netlify.com/drop on your phone
2. Tap the drop zone → pick this file from Downloads
3. Bookmark the https://... URL it gives you
4. Live scanner works instantly — all data stays in your phone
all barcodes on this label are linked • scan more to add
item attributes
×
e.g. 5 × 25 plus 10 × 10 — all groups add up to the total received.
receive at
Receiving at: Warehouse
shelf location
location:—
bulk barcode entry
Scanned barcodes appear here...
shared attributes
receive at
location:—
inventory
🛠 Asset Tracker
High-value, serialized gear — laptops, VFLs, OTDRs/testers, drills. Sign items out to a person for full accountability.
📊 Reports
Printable hand-offs, count sheets, labels, and exports.
📝 Foreman hand-off
One-pager for shift change: snapshot, open DM requests, who has what signed out, today's activity — with checkboxes and pencil-edit space.
📋 Count sheets
One page per bay/level with system quantities, blank Counted boxes, and write-in rows. For a single shelf, use 🖨 Sheets inside that shelf.
🏷 Shelf labels
Barcode labels for shelves and bays — entire layout, a row, one shelf, or custom.
✍ Signed-out accountability
Everything currently out, grouped by tech — material and high-value assets, with return checkboxes.
📦 Stock by location
Full on-hand listing grouped by shelf cell — the master picture of the laydown.
📤 Sign-out / pull sheets
Shelf contents with scannable barcodes plus blank “Taken to” and “By who” columns. Pull against it, then scan the codes back in to sign material out.
📥 Inventory & receiving
Everything on hand with its exact shelf location, plus everything received in the last 14 days with quantities and SOs.
🛠 Asset roster
All tracked high-value gear with status, holder, and due-back dates.
📊 Custom report builder
Filter by location, SO, category, manufacturer, or assignee and build exactly the report you need.
📁 Export reports folder (OneDrive)
Pick a folder and it writes 7 Excel files — daily activity, inventory, in stock, assets, DM requests, stock by location, sign-outs. Share the folder on OneDrive so PMs and foremen can view them. Re-run anytime to refresh. (Chrome/Edge desktop.)
Keep the folder fresh on its own — re-writes the files on a timer while the app is open.
🔗 NTI numbers & map
Your NTI↔Oracle map is the local link between NTI numbers and your real product data. Run the one-time migration to stamp NTI numbers and link inventory; export the map to share it; import a map someone sent you.
🔄 Device sync (shared file)
Pick one shared JSON file (put it on OneDrive and share it). Every device reads & writes it as the source of truth — changes merge both ways in the background, local storage stays your fast cache. Last edit wins per record; deletes propagate. The big catalog is left out by default so it stays quick.
no file selected
off
⬇ Full report & exports
SO viewer
Grid:40
Switch to Move to drag group
ALL SHELVESClick to select · use nudge or type coords to reposition
Nudge:
hint
DM Requests
Add DM Request
📄 SOs for this destination — tap to import as request
SELECTED ITEM
📥 Import Requests
📂
Click to upload file
CSV · Excel (.xlsx/.xls) · Text · TSV
— or paste directly below —
Pull from which location?
❓ How to Format Your Request File
Your file or paste needs at minimum an item name/description and a quantity. Everything else helps but is optional. The app will try to auto-detect columns — put a header row at the top for best results.
✅ Required columns (need at least these)
Column name
What to put
Example
Description
Item name or description
1/2" EMT Connector
Qty
Number needed
50
➕ Optional but helpful
Oracle PN
Oracle part number — links to catalog
7335949
Unit
EA, FT, BOX, ROLL, SET…
EA
Needed By
Date needed (any format)
2026-07-15
Destination
DM/site name (overrides default)
DM-32
Notes
Any extra info
for panel C
📋 Example — paste this directly or use as a template:
Description Qty Oracle PN Unit Needed By Notes
1/2" EMT Connector 100 7335949 EA 2026-07-15 panel C
Wire Loom 3/4" 50 FT 2026-07-20 run B
Velcro Tie 10" 200 7321074 EA bulk
💡 Tips: Copy directly from Excel — tabs are detected automatically. Column order doesn't matter as long as you have a header row. The app will highlight what it detected and show a preview before importing.
scanner
● USB/Bluetooth scanner active — scan anywhere on this page, input is captured automatically
LOOKUP MODE — scan a barcode OR type to search the catalog
Receiving to:
tap to start
▹ USB/Bluetooth scanners: turn on laptop mode above • field auto-focuses after each scan • R=Receive M=Move S=SignOut L=Lookup
You are:offline
Connect to Supabase to use chat
history & chain of custody
settings & data
📁 Shared folder — sync across PCs (OneDrive / Dropbox)
Share one database between computers: pick a folder that every PC opens (inside OneDrive or Dropbox). Everything lives in one file (silo-database.json) that merges in the background with deletes propagating; this replaces Supabase as the source of truth. Chrome/Edge on desktop only — iPad & the watch can’t pick a folder.
no folder selected
off
💻
Laptop / USB Scanner Mode
Use a USB or Bluetooth barcode scanner. Disables camera prompts.
📍Sites
Each site keeps its own inventory, requests, and SOs. The Oracle catalog is shared across all sites. Switch sites from the dropdown at the top.
⌨
Console & Advanced
Power tools: command console, config variables, telemetry, data ops.
👤 Identity & access
Not signed in
Every change you make is stamped with your name in the chain of custody. Your role controls what you can do — the same sign-in moves to the server later.
🔗 Chain of custody
— events
Each event is SHA-256-linked to the one before it. Verify recomputes the chain; the root hash stands for the entire log — the tamper-evident custody record the server will trust.
🩺 Diagnostics
Scans for mismatches, duplicates, orphans, and accountability gaps. Self-heal corrects safe issues (types, whitespace, missing ids) automatically; risky ones are listed here with a one-tap fix.
Tap “scan now” to check your data.
⚙ Configuration Variables
Direct control over app internals. Also settable from the console via set <var> <value>.
More variables are available in the console — type set to list them.
📊 Click Telemetry
Most-used controls, ranked. Use this to place frequent actions within thumb reach.
🔌 External Command API
Drive the app from outside via a URL parameter — useful for handheld scanners that open links. …/laydown-ims.html?cmd=find:8220788 …?cmd=goto:inventory · …?cmd=add:8220788:5:D1-A
Colons become spaces. Any console command works. Open the console and type help for the full command set.
🔍Search Settings
🧩Part Groups
When one Oracle PN is actually several different physical parts, define a part group so receiving and inventory can tell them apart.
Not connected — everyone works on local data only.
Create a free project at supabase.com, run the setup SQL (see docs), paste your URL + anon key above. Everyone on the shared URL sees live changes instantly.
storage
data storage
checking...
△ Reconnect to data folder
Chrome needs permission to access "" again. Click to reconnect — your data is still there.
universal barcode lookup
When enabled, a 🔍 "look up online" option appears on unknown barcodes. Auto-fills description & manufacturer so you can link it to an oracle PN. Most construction parts won't be in consumer databases — best for commercial/retail items.
reports & export
Excel: multi-sheet workbook (Inventory, By Product, By SO, Catalog) — share via email or upload to Google Drive / OneDrive to collaborate live.
🔄 live Excel sync
Pick a folder & filename once. The workbook then re-writes itself automatically every time stock changes — pages for Inventory, Laydown, In Stock, By SO and Database.
Not running.
Tip: keep the file closed in Excel while working — reopen it to see the latest. Best on Chrome/Edge.
import parts list / SO data
Paste TSV, CSV, or tab-separated data. Auto-detects columns. Import to product catalog or bulk-attach oracle PNs to a SO.
restore JSON backup
— or paste below —
print blank labels
⚠ data management
Always export a JSON backup first (above). These cannot be undone.
🩺 Shelf validation
🖨 Print labels
⌚ Quick Add0
Pick a shelf, then scan.
📍 Unassigned items
Items not on a valid shelf — sitting in the “Unlabeled” bin after an audit clear, on the laydown floor, or orphaned. Tap one to open it and assign a shelf. Each shows its last known location.
Add asset
Sign out asset
SILO — How to use
⌨ Console
show:
>
item
build a report
—
scan into field
shelf
shelf properties
new SO
line items (oracle PN + qty)
Part Groups (disambiguation)
When one Oracle PN is actually several different physical parts, define a part group so receiving and inventory can tell them apart.
Edit part group
Variants — the distinct parts under this Oracle PN:
Multiple matches
This Oracle PN maps to multiple items. Select the correct one, or create a new Hank object.
🔍 Oracle PN not found:
📍 tap a bay to set move destination
tap a shelf on the map
choose bay & level:
link barcode to product
Barcode not in catalog. Link to existing product or create new.
or create new product record
receive more stock
current stock by location
add stock
×
room / grid config
import data
Import a parts list file or paste data. Supports CSV, TSV, Excel (.xlsx), and plain text.
📄 Choose a file
CSV • TSV • Excel (.xlsx / .xls) • TXT
or paste directly
map columns to fields
What this does: Creates product records in the Oracle PN catalog. Variant mode is useful when multiple vendors supply the same PN with different specs.
Two ways to bulk-attach oracle PNs to a SO:
Optionally add a tab + quantity after each PN. Descriptions are looked up from your product catalog automatically.
First paste your table in the Parts → Catalog tab and click "detect columns". Then come back here to attach those rows to a SO.
bundle contents —
Define which oracle PNs are inside this box/bundle. When you scan this product during receiving, the bundle panel will offer to expand it into individual items.