OnHand: your inventory, run from WhatsApp
You text or send a voice note the way you'd talk to a helper. OnHand keeps the count, the job costs, and the quotes — and answers when you ask.
Try it right now — 5 steps
1. On your phone, open app.zaprony.com.
2. Tap the 🎤 at the top. Say: "Moved three boxes of Cat6 from the garage to Van 1."
3. It writes back what it heard. If it's right, type yes. If not, say it again.
4. Now just ask it something: "How many Cat6 boxes are in the garage?"
5. Want the spreadsheet? Tap Export on any page.
Nothing you do here can break anything. Every change is logged, and anything can be undone.
The one-minute version
1 — Say it. Voice note or text, to the OnHand WhatsApp number, in your own words.
2 — Confirm it. OnHand repeats back exactly what it understood. Nothing is written down until you say yes. If it's not sure, it asks — it never guesses.
3 — Done. The count updates, the job gets charged, alerts fire if something ran low. Every change is kept in a permanent log you can always look back on.
What a day looks like
Voice works both ways — ask by voice note and OnHand can answer with a voice note back, so you can hear it with your hands full on a ladder.
What happens to every message
flowchart LR A["You send it
voice or text"] --> B["OnHand listens
& understands"] B --> C{"Repeats it back
— confirm?"} C -->|"yes"| D["Books it
count · job · quote"] C -->|"no / fix it"| B B -->|"it's a question"| Q["Looks it up,
answers you"] D --> E["Checks your minimums"] E -->|"garage low"| F["⚠ REORDER
buy more"] E -->|"van low"| G["⚠ RESTOCK
transfer from garage"]
Reorder vs. restock — OnHand knows the difference: garage below minimum means buy; a van below minimum means move stock from the garage, not a purchase. Each location has its own minimums — the ones you set in your walkthrough.
Everything it does
📍 Stock by location & shelf
Garage, Van 1, pickup truck — down to the shelf ("left front bottom"), exactly as you counted it.
🔔 Reorder & restock alerts
Your minimums, per item per location. OnHand messages you the moment something dips under.
🧾 True job costs
Cable, screws, brackets — everything you eat today gets charged to the job, so you see what each job really cost.
💬 Ask anything
A built-in assistant that knows your data. Counts, locations, job spend, quote status — plain English, it keeps up.
📋 Quotes that size themselves
Say the job; your own rules pick the NVR, the drive, the cable boxes, the extras — with your margin shown live, and what needs ordering flagged.
🔒 Reserved stock
Accepted quotes put a hold on parts so two jobs never promise the same box. Customer-assigned stock stays marked.
📜 Full audit trail
Every movement, forever. "Undo that" makes a correcting entry — nothing is ever quietly erased. (You asked for audit — it's built into the bones.)
📊 Web view + Excel
A web page with your data in clean spreadsheet-style tables (look, don't type), and a real .xlsx in your chat whenever you ask.
🧮 QuickBooks (coming)
Purchases post to QuickBooks as bills automatically; accepted quotes become estimates. No double entry.
Ideas we could add — you pick
We studied a system another company built for this same trade, running for years. These are the ideas worth stealing. None of them are built yet. Tell us which you want — a yes or a no on each is all we need.
Stop asking "yes" for small stuff
Moving a box of screws doesn't need a confirmation. Big things still do — anything that zeroes out a count, or touches money or a customer. Everything stays undoable either way.
Our take: worth it. Confirming everything gets old on a ladder.
A register for your tools
You counted 423 tools and asked for asset tracking. This makes each one a unit, not a number: which drill, which van, who has it, since when.
Our take: you already asked for this.
Boxes that move as one
Your note said "count cable boxes." A box becomes a place — put things in it, move the box, everything inside moves with it. One message instead of ten.
Hold parts for a job you've won
Accept a quote and those parts are spoken for, so two jobs can never promise the same box. We've described this to you already; this is what makes it real.
Talk to it in Yiddish
Right now it expects English. Yiddish needs a bit of setup or it mishears you.
Our take: only if you'd actually use it.
A "what's low" message each morning
One message before you leave: what's under minimum, what to buy, what to move from the garage. You don't have to ask.
One we suggest skipping: charging each job what that exact stock cost when you bought it, instead of today's price. It's real work and it only matters when a vendor's price jumps between jobs. Say the word if you disagree — you know your margins.
Built from your own numbers
Everything above runs on what you already gave us — nothing generic:
- 178 catalog items, all priced, with your markups and labor charges.
- 1,507 counted rows from your walkthrough — three locations, 40 shelves, with your minimums.
- Your rules, verbatim. For example:
"Every camera is about ½ TB of storage per 30 days… a 16-channel NVR gets an 8TB hard drive."
"Hikvision NVR = 1 yellow patch cord per channel + 1 blue patch + finger duct."
"Each Cat6 cable = 1 same-color network jack. 24 ports per patch panel."
When we turn a rule of yours into the system, we read it back to you first — you confirm it the same way you confirm a stock move.
Still needed from you
Your standard packages — the 4 or 5 job types you quote over and over. The full list, with checkboxes, is on your to-do page.
One thing you said we couldn't make out — a voice note of yours mentioned a camera needing "a cap". Which camera, and what part?
The five keys for your own number — your number is approved, and the keys page is the last step. About 10 minutes of copying and pasting; you can start on David's number in the meantime.
Where the build stands
Core: your data is loaded and live. 1,125 items, 1,349 counted rows, three locations. Stock moves, job costing and low-stock alerts all work.
Voice: switched on. Talk to it instead of typing, anywhere in the app.
WhatsApp: everything behind it is built and tested. Waiting on one last piece and a switch.
Quoting: your rules confirmed with you, your packages, held stock.
QuickBooks + vendor pricing: bills, estimates, price files from BLVS/TLVS/ADI.
About the WhatsApp number
Your own WhatsApp number came through this week — it's approved. Once the five keys are in (that's the keys page), OnHand answers on (516) 588-6879 and the borrowed number goes away.
To start, you'll be messaging one of David's existing business numbers. It works exactly the same — you text or send a voice note, OnHand answers. Two things to know:
- The name on the chat will say Clemens, not Zapro. Ignore it.
- Only your number reaches OnHand. Nobody else can, and nothing you send goes anywhere near the other business.
When the five keys land, we swap it over. You'll notice nothing except the name changing.
Sign it off
Read this page once and tell us: is this the system you want?
Three answers is all we need —
1. Anything on this page wrong, or backwards from how you actually work?
2. Anything missing that you'd expect?
3. From the ideas above — which do you want, which don't you care about?
A voice memo in the box below is the fastest way. Once you say it's right, we build to this and stop guessing.
This page is a conversation. Anything here look wrong, missing, or backwards from how you actually work? Drop a note or a voice memo right below — the page (and the system) get updated as we go, and you'll see every change reflected here.
OnHand · prepared for Shia / Zapro · updates continuously during the build