Saravanan — Portfolio 2026

Skip to content
All products

Multi-tenant billing and POS

BillFlow

Cloud billing and point of sale for Indian businesses: GST invoicing, inventory and a fast barcode-driven counter.

Role
Team project. I built the Quick Order counter and the theme system, across the Catalog APIs and the Next.js frontend
Status
Live
Stack
Next.js 15, TypeScript, .NET 10, PostgreSQL, Redis, RabbitMQ, Docker
BillFlow sign-in page with email or mobile OTP login

Results

.NET microservices behind one gateway
4
colour themes at WCAG AA contrast
13
Ampere server runs the whole platform
12 GB

01Problem

Retail shops, supermarkets, restaurants and pharmacies need GST invoices, stock, purchases and a quick counter in one place. Each company's data has to stay isolated from every other company's, and the cashier screen has to keep up with a queue.

02Architecture

A Next.js web app with BFF API routes and httpOnly-cookie auth sits in front of a YARP API gateway and four .NET microservices: Identity, Catalog, Commerce and Engagement. PostgreSQL 16 uses a schema per service and row-level security for tenants, with Redis, RabbitMQ and MassTransit alongside. It is deployed with Docker Compose on a 12 GB Oracle Cloud Ampere server behind Cloudflare.

03Key decision

Computing order totals, GST splits, stock changes and document numbers on the server, so every client gets the same results. On my side, Quick Order was built for speed at the counter: type-ahead search, a quantity shortcut like "6x milk", and camera, USB and Bluetooth barcode scanning.

04Result

Live at billflow.sssspro.com. My part of the team's work was the Quick Order counter with its walk-in customer flow and order editing, the same fast product entry on the standard order form, and a theme system of 13 palettes that all meet WCAG AA contrast for button text, with unit tests on both the .NET and Next.js sides.