← All work

Field operations . GST billing . Mobile

Time and Me

Authentication and repair billing for a watch service business

authentication live
Multi-labauthentication live
billing since Jun 2026
GSTbilling since Jun 2026
first capture
Offlinefirst capture
Intakeon the floor01Inspectionpoint by point02Job cardPDF, audited03GST invoiceCGST / SGST / IGST04Certificatepublic verify05
One watch, end to end. Every step writes to an append-only record before the next one starts.

Status. In production. Authentication running across multiple fulfilment centre labs.

What it is

The authentication and billing systems behind a watch studio's two businesses. One side grades watches for a global marketplace's fulfilment centre labs, every watch logged before it can be listed or returned. The other runs the studio's repair shop on job cards and GST invoicing.

A spreadsheet workflow replaced by a mobile app for warehouse technicians and a web admin for operations managers, plus a separate job card and billing module.

The problem

Authentication labs across several fulfilment centres ran on spreadsheets: data loss risk, no audit trail, no visibility into throughput.

The warehouse floor adds its own constraints: unreliable wifi, shared Android devices, multi-language teams, and no tolerance for the app going down mid-shift.

What we built

01

A 12-screen offline-first technician app: login, item lookup, barcode scan, authenticity decision, component grading, photo capture, and a shift dashboard, all working without network and syncing once reachable.

02

An offline sync engine with a pending, syncing, synced, and failed state machine, and a batch endpoint that deduplicates on retry.

03

A two-step photo pipeline: the phone compresses and uploads straight to storage, and the backend only attaches the photo record once the upload confirms.

04

A JWT-authenticated API with rate-limited login and an export that reproduces the marketplace's required spreadsheet format.

05

An admin panel for master data, shift dashboards, exports, and user management.

06

A separate job card and GST billing system: intake, status workflow, per-line CGST, SGST, and IGST at the correct codes, an invoice lifecycle with a full audit trail, and UPI QR codes on unpaid invoices.

07

GST reporting built from first principles: auto-numbered and manual invoice series, GSTIN checksum validation, GSTR-1 exports, and a quarterly TDS register.

08

Five languages in the technician app (English, Hindi, Kannada, Tamil, Malayalam) for multi-region teams.

Notable engineering

Offline-first on flaky warehouse wifi. Local-write-first storage means a power loss or a force-close mid-entry loses nothing, and the sync queue retries with backoff from one minute out to six hours.

Photo upload decoupled from item sync. Each photo has its own retry queue, so a failed photo never blocks the record it belongs to.

GST compliance without an accounting package. Item-wise tax splits, correct HSN and SAC codes, an append-only invoice log, and the GSTR-1 exports were all built in-house and checked against the real filing formats.

A self-hosted stack that runs the whole system, database, storage, both apps, and backups, on a single small VPS for a fraction of the cost of an equivalent managed setup.

Stack

React NativeExpoFastifyPrismaPostgreSQLNext.jsFlaskMinIOCaddyDocker Compose

Capabilities demonstrated

Offline-first mobile syncPresigned photo upload with retry queuesJWT auth with role separationWorkflow and audit-trail systemsIndia GST invoicing and reportingLow-cost self-hosted infrastructure

Have a build in mind?

Tell us what you are trying to ship. We will tell you plainly whether we are the right fit.

Start a conversation