Skip to content
thexsys

On a device

Three apps, and one you install from the browser

Staff, customers, suppliers and the counter are not the same person, but they do not need six codebases either. Two apps are written, one is worth writing, and everything else is the workspace itself — installed from Chrome or Edge, in its own window, still working when the line drops.

Nothing of ours is in Google Play or the App Store today. The first listing, when there is one, will be POS.

The three apps

Workspace and Portal are in this repository in Dart. POS is the one still to be written, and the page says so rather than pretending.

  • thexsys Workspace

    apps/mobile/workspace

    Status
    In the repository
    Audience
    Tenant staff: owners, admins, every department — and the technicians and drivers who work away from a desk
    Platforms
    AndroidiOSTablets

    Approvals, quotes, invoices, stock counts, customers, timesheets, HR self-service and Discuss. The field screens — today’s jobs, checklists, photos, signatures, deliveries — sit inside this app behind role gating instead of becoming an app of their own.

  • thexsys Portal

    apps/mobile/portal

    Status
    In the repository
    Audience
    The tenant’s customers and the tenant’s suppliers, in one codebase
    Platforms
    AndroidiOS

    Two shells, one app. A customer sees their matters, appointments, invoices, documents and payments; a supplier sees requests for quotation, the quote form, purchase orders, bills and the statement. Which shell opens follows who signed in, so the separately-planned Vendor app is not a separate app.

  • thexsys POS

    —

    Status
    Not built yet
    Audience
    The till, the restaurant floor, the jewellery counter and the delivery counter
    Platforms
    AndroidTablets

    The only new native app in the plan, and it is not written yet. A counter needs a tablet locked into kiosk mode, a cash drawer and a thermal printer on the desk, and a session that keeps selling when the line drops — four things a browser tab cannot be trusted to give.

The installable web app

Everything else is a browser you install

The workspace is a progressive web app, and not in name only: a service worker that precaches the shell so the first launch after an install needs no network, an outbox in IndexedDB that queues a sale, a round or a wash while the connection is gone, a sync journal at /app/sync that shows every queued operation and what the server said to it, and a manifest with shortcuts straight to the till, the restaurant floor and the kitchen display. Open it in Chrome or Edge, choose install, and it is a windowed app with its own icon. That is a deliberate choice: the same screens, both languages, updated the second we deploy, with no review queue standing between a fix and the person waiting for it.

What installing it gives you

  • A windowed app with its own icon on Windows, macOS, Android and ChromeOS
  • A launch with no connection at all, because the shell is precached and the catalogue sits in IndexedDB
  • An outbox: what you do offline is queued, replayed in order with an idempotency key, and shown to you in the sync journal until it lands
  • The camera, for photographing a document, a delivery or a job before and after
  • Location, for stamping attendance and a site visit where it actually happened
  • Every fix on every device the moment it deploys — no store review, no version stuck on an old phone

What it does not give you

  • No App Store or Google Play listing. There is nothing to search for, and on an iPhone installing means Add to Home Screen from Safari.
  • No push you can build a shift on. Web push on iOS only works once the app is on the home screen, and we do not send it yet on any platform.
  • No thermal printing everywhere. A browser prints through the system dialogue; a counter printer on USB or Bluetooth, a cash drawer and a kiosk lock are exactly why POS is a native app.

And three consoles that need no app at all

  • Admin console

    Platform operators work at a desk with many rows on screen. A phone-sized version of a tenant list helps nobody.

  • Partner portal

    Deals, commissions and certificates are read, filed and argued over on a laptop, not on a bus.

  • Developer portal

    Keys, webhook deliveries and an OpenAPI reference belong next to an editor and a terminal.

Why three and not six

The plan used to be six apps: staff, customers, vendors, field, POS and admin. Four of those were never written, and building them would have meant four more release trains for screens the same person already reaches. A supplier is a shell inside Portal, because the identity differs but the device does not. A technician is a role inside Workspace, because the job list is the same records under different permissions. An operator gets a browser. What survives that cut is a till, and a till is genuinely different hardware.

Start with one app. Grow into the whole system.