Ankan Poddar

ClothTrends

Inventory and billing for a cloth shop: point of sale at the counter, stock tracked by supplier lot, and labels and receipts printed over Bluetooth.

Source is private for now.

scan -> bill -> print receipt
stock -> label -> print label

What it does

A shop runs billing from a barcode scanner: scan an item, build the bill, print the receipt. Stock is tracked by supplier lot, labels are printed with CODE_128 barcodes, and past bills are searchable.

How it is built

  • A Next.js progressive web app on Supabase: Postgres, Auth, and row level security for multi-tenancy.
  • A Kotlin Android app wraps the web app in a WebView and bridges two Bluetooth thermal printers, one for receipts (ESC/POS) and one for labels (TSPL), plus the native camera scanner.
  • An earlier Express and CouchDB backend came first and was replaced by the Supabase version.

What I cared about

  • Software that works at a busy counter: scanning, billing and printing without friction.
  • Isolation between shops enforced in the database through row level security, not only in application code.

Stack: Next.js, Supabase (Postgres, Auth, RLS), Kotlin, Android WebView.

All workNext: Studio