Skip to content
Farhad Nazir

Windows desktop software for shop counters and back offices

Many businesses still run on a Windows PC at the counter. I build desktop applications in Flutter that run natively on Windows, store data locally in SQLite, print receipts and labels, and install with a proper setup file. When the business needs it, the same app also syncs with a cloud backend and with phones.

My desktop work includes Asaan Optics Desktop Pro, which updates itself from the Asaan Optics website, a multi-branch build of it for an optical retail chain, Asaan Rental Pro for landlords, Tabarak POS for restaurant counters and Asaan Jewellers POS, a point of sale for gold jewelry shops that is still in development.

What the service includes

  • Native Windows apps in Flutter

    Keyboard-friendly screens and layouts designed for a monitor, not a stretched phone app.

  • Offline local databases

    SQLite storage on the PC with backup and restore. Asaan Rental Pro can also back up to the user's own Google Drive every hour.

  • Receipts, invoices and labels

    Thermal receipts sized for 58 mm and 80 mm paper, A4 invoices and PDFs, kitchen tickets and barcode labels, including Arabic and Urdu text on receipts.

  • Cloud sync with mobile

    One account shared between the PC and phones, with an offline queue that syncs without duplicates, as in Asaan Optics.

  • Installers and auto-update

    Branded Windows installers, and an updater that downloads and installs new versions silently.

  • Access control

    PIN or password login, staff permissions, and sign-in tokens kept in Windows secure storage.

  • Reports and exports

    Dashboards, charts, shift and Z-reports, and Excel or PDF exports.

Problems it solves

Paper registers at the counter
Rent ledgers, credit notebooks and order registers get lost and cannot be searched. A desktop app keeps the same records searchable and backed up.
Internet that cannot be relied on
A counter that stops selling when the connection drops loses money. Offline-first desktop apps keep working and sync later, or never need a server at all.
Trade-specific workflows
A jewelry bill depends on the day's gold rate, karat, weight and making charges, and an optical order depends on a prescription. Generic POS software rarely handles either well.
Updating software on many PCs
Sending a new installer to every shop does not scale. An in-app updater checks for new versions and installs them, and can require an update below a minimum version.
Cash handling that cannot be audited
Per-terminal shifts, cash drawer movements, manager overrides and X and Z reports show who sold what and where the money went.

How I approach it

I use Flutter for Windows because it produces a native desktop build and lets the same business logic serve a mobile app when one is needed. Asaan Optics works this way: the Windows app and the Android app work from the same shop records.

I decide early what lives on the PC. Asaan Rental Pro, Tabarak POS and Asaan Jewellers POS run fully offline on local storage, and the rental and jewelry apps can export backup files. Asaan Optics Desktop Pro keeps POS shifts and the cash-drawer ledger in a local SQLite store on each terminal, while customer and stock data sync with the cloud.

For shops in Saudi Arabia, I built ZATCA Phase 2 e-invoicing into Asaan Optics Desktop Pro as its own Dart package: each PC acts as an e-invoicing unit, keeps its signing key in Windows secure storage and signs simplified invoices with the Phase 2 QR code before printing. Installation is part of the product too, with a per-user install so updates need no administrator prompt.

Technologies I use for this

  • Flutter
  • Dart
  • SQLite
  • Node.js
  • Express.js
  • MySQL
  • Firebase
  • Inno Setup

Typical stages

  1. Stage 1

    Study the counter

    How sales, stock and records are handled today, which printers are used and how many PCs and branches are involved.

  2. Stage 2

    Data and offline design

    What is stored on each PC, what syncs to the cloud, and how backups and restores work.

  3. Stage 3

    Build with printing and reports

    Screens, receipts, labels and reports, tested against the paper sizes and printers the business uses.

  4. Stage 4

    Packaging

    A branded Windows installer, versioning and, where needed, an in-app updater.

  5. Stage 5

    Rollout and support

    Installation, data import, staff training, then updates delivered through the installer or updater.

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
Drivoli Optics sales console with filters, total revenue, expenses and net cash in hand cards, and a table of prescription, product, repair and expense entries with receipt, WhatsApp, download and delete actions
Recreated from source

Optical retail POS and prescription system

Drivoli Optics Software

A multi-branch Windows desktop system for an optical retailer, covering prescriptions, stock, counter sales, repairs and supplier ledgers.

  • Desktop app
  • Business system
  • SaaS product
Asaan Rental Pro dashboard for November 2026 with total revenue Pkr. 742,500, pending dues Pkr. 318,000, 34 active tenants and 6 vacant units, a six-month revenue bar chart and an occupancy donut showing 34 of 40 units occupied
Recreated from source

Rental property management desktop app

Asaan Rental Pro

An offline Windows desktop app for landlords to manage buildings, tenants, leases, monthly rent and maintenance in one place.

  • Desktop app
  • Business system

Frequently asked questions

Can Farhad build Windows desktop applications?

Yes. Farhad builds Windows desktop applications in Flutter, including Asaan Optics Desktop Pro, Asaan Rental Pro, Tabarak POS and a multi-branch system for an optical retail chain. They ship with Windows installers, and Asaan Optics Desktop Pro updates itself.

Why use Flutter for a desktop app?

Flutter compiles to a native Windows app and lets the same code and business rules serve Android and iOS if you need a mobile app later. Asaan Optics uses this, with its Windows and Android apps working from the same records.

Does the software work without internet?

It can. Asaan Rental Pro, Tabarak POS and Asaan Jewellers POS run entirely on the PC, and the rental and jewelry apps include local backup and restore. Asaan Optics records sales offline and syncs when the connection returns.

Can it print receipts and barcodes?

Yes. My desktop apps print thermal receipts sized for 58 mm and 80 mm paper, A4 invoices, kitchen tickets and barcode labels through the Windows print system. Receipts can include Arabic and Urdu text.

Can a desktop app support ZATCA e-invoicing?

Yes. I built ZATCA Phase 2 e-invoicing into Asaan Optics Desktop Pro: UBL invoice XML, cryptographic stamping, the Phase 2 QR code, device onboarding and reporting to the Fatoora platform. For a new system, onboarding is done with the business's own ZATCA registration.

How are updates delivered?

Through a new installer or, where it makes sense, an in-app updater. Asaan Optics Desktop Pro checks the latest version published on its website, can require an update below a minimum version and installs it silently without an administrator prompt.

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.