Jawetzel LLC
All projects

Case study

live
Vorbiz logo

Vorbiz

A native iOS + Android POS for market vendors with offline-first multi-device sync, QR-based sale capture, bulk inventory import from CSV or a Google Sheets URL, and sales-tax + revenue reports they can hand to their accountant.

The problem

Booth and market vendors were reconciling sales in paper notebooks. Connectivity at outdoor markets is spotty, one vendor often runs more than one register at the same booth, and at the end of the year someone has to hand real numbers to the accountant. The pitch: "forgot your book? I bet you didn't forget your phone."

What I did

  1. 01

    Offline-first sync across multiple devices

    Sales write to a local device database first; sync runs when the network comes back. Records carry `device_id`, `updated_at`, and `deleted_at`, so two phones at the same booth, or two partners working different markets, reconcile cleanly on reconnect. Soft-deletes mean an offline edit on a record that was deleted elsewhere can still be recovered.

  2. 02

    Fast POS sale capture with QR scanning and generation

    A quick-tender POS flow designed for a line at a craft-fair booth. Vendors generate QR codes for each item so sales can be rung up by scanning, with no typing or SKU lookup. The camera acts as the scanner (Vision Camera) in the same pass it captures receipts and item photos.

  3. 03

    Bulk inventory import from CSV or a Google Sheets URL

    Vendors don't arrive with a typed-in catalog. They have it in a spreadsheet, a CSV, or a Google Sheet they already share with a partner. Vorbiz onboards either path: upload a CSV, or paste a Google Sheets link and the app pulls and parses the rows directly. The vendor is ringing up sales on day one instead of re-entering hundreds of items by hand.

  4. 04

    Immutable sales ledger that matches how accounting actually works

    Prices and taxes snapshot at the moment of sale and are never re-computed. Corrections happen via voids or offsetting sales rather than edits. This protects the integrity of sales-tax and revenue reports even when rates change later in the year.

  5. 05

    Two-tier tax engine with resale-cert + 501(c)(3) exemption logic

    The device rounds per-line tax at 2 decimals; the server stores rates at 5-decimal precision but performs no computation. That split keeps the phone as the source of truth. Supports tax-included and tax-on-top per location, with a clear exemption precedence.

  6. 06

    Sales-tax and revenue reports vendors actually file

    PDF exports for two specific filing needs: monthly sales and sales-tax reports (for state sales-tax remittance) and end-of-year revenue reports (for income-tax filing). The scope is intentionally limited to the sales side (no expense tracking, no P&L) so the output maps directly onto what the vendor hands their accountant.

  7. 07

    Shipped native to both stores

    On Google Play and the App Store via EAS Build, with auto-submit pipelines to the internal and closed testing tracks. RevenueCat gates advanced features; the server validates receipts server-side so the gate can't be bypassed.

The outcome

Vorbiz is live on Google Play and the App Store. Vendors capture sales on a phone, online or off, across multiple devices, with QR-driven item entry, and export the sales-tax and revenue reports they hand to their accountant at filing time. The end-of-night reconciliation against a paper notebook goes away.

Under the hood

React NativeExpo SDK 54TypeScriptWatermelonDBVision CameraNode.jsExpress 5Drizzle ORMPostgreSQLRevenueCatEAS Build

React Native + Expo + WatermelonDB on-device, with a Node + Express + PostgreSQL backend handling sync reconciliation. A `BUSINESS_RULES.md` file codifies sales, sync, tax, and privacy rules with source-file citations, which also doubles as onboarding documentation. EAS Build pipeline auto-submits to iOS and Play Store internal/closed testing tracks.

Links