TonerPal
Toner & ink inventory
- Open the red “needs reordering” card, then reorder a cartridge
- Tap a printer to see its cartridges and par levels
- Scan a cartridge and mark one installed
The guided demo runs on sample data in your browser — nothing is connected to a production system and no real transaction is processed. Where a real URL can be framed, the toolbar above switches to it and says so.
Capabilities you could commission.
An optional app lock built on the device biometric API — Face ID, Touch ID or Android biometrics — with a passcode fallback and a settings toggle.
See it on its own →Sessions and tokens held in the iOS keychain / Android encrypted storage, never in plain application storage.
See it on its own →RevenueCat sits on top of StoreKit 2 and Google Play Billing: the store still processes every purchase, RevenueCat resolves it into an entitlement the app can check on any platform.
See it on its own →Native StoreKit 2 on iOS and Google Play Billing on Android — products, offerings, purchase and restore flows.
See it on its own →Entitlement checks wrap the premium surfaces themselves, so a free account sees the locked state and an entitled account sees the feature — the same build, two experiences.
See it on its own →Scheduled local notifications and remote push, with permission handling and a deep link that opens the exact screen the notification is about.
See it on its own →Associated-domain universal links and Android app links that route a URL to the right in-app destination.
See it on its own →In-app camera with permission handling, capture, retake and immediate use of the resulting image.
See it on its own →The system photo picker, which reads a chosen image without requesting access to the whole library.
See it on its own →Recurring local schedules that survive app restarts and fire without a server round trip.
See it on its own →Item records with levels, consumption history and reorder signals driven by real usage.
See it on its own →Instant search with multi-facet filters, sorting and a genuine empty state when nothing matches.
See it on its own →Local-first records that keep working with no signal and reconcile when the connection returns.
See it on its own →Camera-based scanning that reads a code and continues straight into the workflow it identifies.
See it on its own →Impact and notification haptics on the moments that matter — confirmation, error, and success.
See it on its own →The system share sheet, so output leaves the app into Messages, Mail, Files or any installed app.
See it on its own →System-driven light and dark themes, plus layouts that adapt from phone to tablet to desktop.
See it on its own →What this product exists to fix.
Nobody owns printer supplies until a printer stops. Then it is an emergency, and emergencies ship overnight at three times the price.
Scan a cartridge, see what is on hand against a par level, reorder before it runs out — with a local alert when something drops below par.
The implementation, at a level we can share.
- ✓Barcode scanning that resolves to the record and continues the workflow
- ✓Par levels per item, so “low” means low for that printer rather than a global guess
- ✓Optional biometric app lock with sessions stored in the device keychain
- ✓Local notifications, so reminders do not depend on a server being reachable
A capability-level overview. Endpoints, credentials, internal architecture and client-specific code stay private.
The same architecture, other industries.
Don’t copy the app — copy the capability. Every workflow above can be rebuilt around your business, your data and your users.
Captured from the shipped build.

We can build your version of it.
Everything in this demo is a capability we can adapt, redesign or rebuild for your company — on its own, or combined with others into a single product.
Other products you can use right now.
You don’t have to build TonerPal.
We can adapt individual features, workflows, interfaces or the whole system to your business.