Skip to content
Farhad Nazir

SaaS products built by someone who runs one

I build software that many businesses use from one platform, each with its own isolated data, users and plan. That means the parts customers never see as much as the ones they do: tenant scoping on every request, subscription billing, plan limits, an operator console and a release process that does not break the shops already using the product.

My main reference is Asaan Optics, the optical shop SaaS I founded and develop under Techwine Solutions. It runs as an Android app on Google Play and a Windows desktop app on one multi-tenant Node.js backend, with subscriptions through Google Play billing and web checkout. I have also worked on Track Cue, a subscription platform for snooker and billiard clubs that is still in development, where I was brought in to complete and redesign an existing codebase, and I am building AsaanOptics Marketplace, a multi-vendor platform that is still in development.

What the service includes

  • Multi-tenant architecture

    Every account's data is scoped by tenant on the server, with guards that reject any signed-in request where the session and the requested shop do not match.

  • Subscriptions and plan limits

    Free tiers, paid plans and feature gates, reconciled on the server. Asaan Optics combines Google Play billing through RevenueCat with web checkout for desktop plans.

  • Roles, staff and branches

    Owner, manager and staff accounts with per-module permissions, and multi-branch setups where an owner can open any branch to work as it.

  • Operator console

    A super admin view for customers, plans and subscriptions. Track Cue's console manages club owners, pricing plans and automatic subscription expiry.

  • Onboarding and data import

    Self-serve sign-up, sample data and spreadsheet import, so new customers can move from paper or Excel without retyping everything.

  • Languages, currencies and tax

    Asaan Optics ships in nine languages with right-to-left support, and has tax settings for Saudi VAT and India GST.

  • Release and update pipeline

    Automated app store builds and a desktop auto-updater, so customers can move to the current version without reinstalling by hand.

Problems it solves

Turning an internal tool into a product
A system built for one business usually hard-codes that business. A product needs separate tenants, settings, branding and plans, so the next customer can sign up without a code change.
Customers seeing each other's data
In a shared database, one missing filter is a data leak. I enforce tenant scope in server middleware, not only in the app.
Revenue lost in billing gaps
App store purchases and web checkout have to agree on who has paid. Server-side renewal sync, with paid features locked when a plan cannot be confirmed, keeps access tied to an active plan.
Changing a product people use every day
With an installed base, every change has to keep older app versions working. I roll out security and data changes in stages, as I did when moving Asaan Optics to server-side sessions.
Unreliable internet at the customer's site
Shops still need to sell when the connection drops. SaaS clients can queue work offline and sync later without creating duplicates.

How I approach it

I treat tenancy as a design decision, not a column added later. In Asaan Optics the server exchanges each sign-in for a session tied to one shop, and middleware rejects any signed-in request where the session and the shop do not match. Staff permissions, branches and plan state hang off that same identity, so a new feature inherits isolation by default.

Billing is reconciled on the server. Asaan Optics takes payments through Google Play via RevenueCat and through web checkout for desktop plans, and the backend decides what each shop can use. If a plan cannot be confirmed, paid features stay locked rather than open. On Track Cue the same idea appears as plan-based feature locking with automatic expiry.

I also build what keeps a product running after launch: an admin console, sample data for demos, spreadsheet import for onboarding, automated release pipelines for the app stores, and a Windows updater that installs new versions without an administrator prompt.

Technologies I use for this

  • Node.js
  • Express.js
  • Flutter
  • Dart
  • MySQL
  • SQLite
  • Firebase
  • Laravel
  • PHP
  • TypeScript

Typical stages

  1. Stage 1

    Product definition

    Who the customers are, who uses the product inside each customer, and which plans and limits make sense.

  2. Stage 2

    Tenancy and data model

    How accounts, branches, staff and permissions relate, and where isolation is enforced on the server.

  3. Stage 3

    First version for early customers

    The core workflow, built to be used by real customers early, with feedback deciding what comes next.

  4. Stage 4

    Billing and plans

    Payment providers for your market, plan gates and server-side reconciliation of who has paid.

  5. Stage 5

    Operations

    Operator console, onboarding, data import, monitoring and an automated release process.

  6. Stage 6

    Launch and iterate

    Regular releases based on usage and support requests, without breaking customers on older versions.

Related work

Asaan Optics Desktop Stock Control Center showing stock value at cost and retail, potential profit, stock by category, last 30 days of sales and low-stock alerts

Optical shop management SaaS

Asaan Optics

Optical shop software for Android and Windows: prescriptions, counter sales, stock and staff shifts on one shared shop account.

  • SaaS product
  • Mobile app
  • Desktop app
  • Business system
Track Cue monitoring grid with a running game on Table No 1 showing a live timer, game type, cost, rate, start time and a Stop Game button, next to two idle snooker table cards
In development

Snooker club management SaaS

Track Cue

A multi-tenant SaaS for snooker and billiard clubs, covering live table timers, game billing, member credit, canteen stock and expenses.

  • Web application
  • SaaS product
  • Business system
AsaanOptics Marketplace storefront landing page prototype with a dark red hero, 'See better. Shop smarter. From optical shops near you.', and eyewear category tiles
Design prototype

Multi-vendor optical marketplace

AsaanOptics Marketplace

A multi-vendor marketplace for optical shops in Pakistan, with prescription ordering, nearby search and escrow-style checkout, currently in development.

  • Web application
  • E-commerce
  • SaaS product

Frequently asked questions

Can Farhad develop a custom SaaS product?

Yes. Farhad founded and develops Asaan Optics, a subscription SaaS for optical shops with Android and Windows apps on one multi-tenant backend, including billing, staff permissions and offline sync. He can take a SaaS idea from data model and tenancy design through to a released product with an operator console.

What is Asaan Optics?

Asaan Optics is a SaaS for optical shops and eye clinics, founded and developed by Farhad Nazir and published by his company Techwine Solutions. It covers patient records and eye prescriptions, orders and repairs, frame, lens and contact-lens stock, counter sales with staff shifts, and reports. It runs as an Android app on Google Play and a Windows desktop app that work from the same shop records, including when the internet is down.

How do you keep each customer's data separate?

Each request is scoped to a tenant on the server. In Asaan Optics a signed-in session is tied to one shop, and the backend rejects any request that names a different shop instead of trusting the app to send the right one. Older app versions were moved onto this in stages.

Can you add subscriptions and payments?

Yes. Asaan Optics combines Google Play billing through RevenueCat, web checkout for desktop plans and a local mobile-wallet option, all reconciled on the server. Track Cue locks features by plan and expires subscriptions automatically. The right provider depends on your market and platforms.

Do you maintain the product after launch?

Yes. Asaan Optics is in active development, with regular Android releases and a Windows app that updates itself. For client products, support scope is agreed separately and covers fixes, updates and new features.

Can a SaaS product work without internet?

Parts of it can. Asaan Optics records sales offline and queues changes with idempotency keys, so they sync once the connection returns without creating duplicates. Whether offline support is worth the extra work depends on where your customers use the product.

Have a software idea or a business process that needs a proper system?

Tell me what you are trying to fix. I will reply with honest questions, a practical plan and a realistic estimate.