All notes

Running a real product for ₹0 a month

. Vardhman Saathi, built with React Native, Electron, Supabase and Cloudflare.

Vardhman Saathi home screen with a dealer's V-Coin balance Screen for submitting a purchase bill Rewards store priced in V-Coins Checkout for redeeming rewards

At my Vardhman Electricals internship I shipped more than an app: an Android product, desktop software for the admin team, a backend, and the deployment system that keeps all of it moving.

What I built

Everything lives in one repository but serves different people. Dealers use an Android app built with React Native and Expo to scan invoices, see their V-Coin balance and claim rewards. Staff use an Electron and React desktop app to verify bills, manage users and handle inventory. The public website runs on React and Vite.

Behind all of that is PostgreSQL on Supabase with server code in Edge Functions, plus small Cloudflare Workers where they make sense. The result is a product with phone users and three admin dashboards syncing in real time.

Why the bill is ₹0

The original server cost about $7 a month. Small, but unnecessary for a product at this stage. I moved the database and functions to Supabase, files and the desktop installer to Cloudflare R2, photo optimisation and protected downloads to Workers, and the website to Cloudflare Pages.

  • Supabase: PostgreSQL, Edge Functions and Row Level Security.
  • Cloudflare R2: invoice photos and the desktop installer, without egress surprises.
  • Cloudflare Workers: image optimisation and installer access control.
  • Cloudflare Pages: the public website.

Cost is not the only reason to simplify an architecture, but it is a good forcing function. Every service needs a job worth its complexity.

Shipping without touching a server

Every push to main goes through GitHub Actions. Database changes and functions deploy to Supabase; Workers deploy to Cloudflare; a Windows runner builds the desktop installer and uploads it to R2. Cloudflare Pages deploys the site on its own.

The Android app is the deliberate exception. I build it with Expo EAS, test it properly, and only then move it toward the Play Store. Automation should remove repetition, not judgement.

Did it hold up?

Yes. The system supports 200+ concurrent users across the app and the admin dashboards. More importantly, it gives the business software it can actually run without a large operations burden.

Visit Vardhman Saathi Next note: 450 hours, four ships, one laptop