<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Insights by Farhad Nazir</title>
    <link>https://farhadnazir.com/insights/</link>
    <atom:link href="https://farhadnazir.com/insights/feed.xml" rel="self" type="application/rss+xml" />
    <description>Articles on SaaS, POS and ERP systems, Flutter and software architecture by Farhad Nazir.</description>
    <language>en</language>
    <item>
      <title>Offline-first POS: a sale that cannot wait for the network</title>
      <link>https://farhadnazir.com/insights/offline-first-pos-sync/</link>
      <guid isPermaLink="true">https://farhadnazir.com/insights/offline-first-pos-sync/</guid>
      <description>How I made Asaan Optics record sales with no internet: one write path, idempotency keys end to end, a dead-letter list, stock as deltas and a per-till ledger.</description>
      <pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate>
      <category>Flutter</category>
      <category>SaaS</category>
      <category>Offline-first</category>
      <category>POS</category>
    </item>
    <item>
      <title>ERP is workflow engineering, not CRUD</title>
      <link>https://farhadnazir.com/insights/erp-is-workflow-engineering/</link>
      <guid isPermaLink="true">https://farhadnazir.com/insights/erp-is-workflow-engineering/</guid>
      <description>The tables are the easy part of an ERP. What I learned from the unwritten rules for attendance, performance scores, invoicing and one-transaction POS billing.</description>
      <pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate>
      <category>ERP</category>
      <category>Laravel</category>
      <category>Business software</category>
    </item>
    <item>
      <title>Flutter on Windows: installers, updates and receipt printers</title>
      <link>https://farhadnazir.com/insights/shipping-flutter-apps-to-windows/</link>
      <guid isPermaLink="true">https://farhadnazir.com/insights/shipping-flutter-apps-to-windows/</guid>
      <description>Lessons from building Flutter Windows apps for shops: per-user Inno Setup installers, silent updates, local SQLite, backups and thermal receipt printing.</description>
      <pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate>
      <category>Flutter</category>
      <category>Desktop apps</category>
      <category>Windows</category>
    </item>
    <item>
      <title>Tenant isolation in multi-tenant SaaS: three real systems</title>
      <link>https://farhadnazir.com/insights/multi-tenant-saas-tenant-isolation/</link>
      <guid isPermaLink="true">https://farhadnazir.com/insights/multi-tenant-saas-tenant-isolation/</guid>
      <description>Tenant isolation patterns from three SaaS systems I worked on: tenant IDs from tokens, query filters, safe auth rollouts, RBAC grant ceilings and plan gating.</description>
      <pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate>
      <category>SaaS</category>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <title>Implementing ZATCA Phase 2 e-invoicing in a Flutter POS</title>
      <link>https://farhadnazir.com/insights/zatca-phase-2-e-invoicing-flutter/</link>
      <guid isPermaLink="true">https://farhadnazir.com/insights/zatca-phase-2-e-invoicing-flutter/</guid>
      <description>How I built ZATCA Phase 2 (Fatoora) e-invoicing in Dart for a Flutter POS: UBL 2.1 XML, hash chaining, ECDSA signing, CSID onboarding and Saudi VAT receipts.</description>
      <pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate>
      <category>ZATCA</category>
      <category>Saudi Arabia</category>
      <category>Flutter</category>
      <category>POS</category>
    </item>
  </channel>
</rss>
