<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ZsTechLabs Blog</title>
    <link>https://zstechlabs.com/blog</link>
    <description>Practical guides on web development, hiring, and the systems ZsTechLabs builds.</description>
    <language>en-us</language>
    <item>
      <title>Pharmacy Software in Pakistan: Engineering Batch and Expiry Tracking</title>
      <link>https://zstechlabs.com/blog/pharmacy-batch-and-expiry-tracking-in-an-erp</link>
      <guid>https://zstechlabs.com/blog/pharmacy-batch-and-expiry-tracking-in-an-erp</guid>
      <description>How we built pharmacy software for Pakistan in FlowForg ERP: batch and expiry tracking, GS1 scanning, DRAP catalogue import, salt search and MRP price guards.</description>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Offline Digital Signage: How Our Android Player Survives Outages</title>
      <link>https://zstechlabs.com/blog/offline-first-android-digital-signage-sync</link>
      <guid>https://zstechlabs.com/blog/offline-first-android-digital-signage-sync</guid>
      <description>How we built offline digital signage for Veysign: versioned manifests, SHA-256 verified staging, atomic swaps, and cheap ETag polling for Android screens.</description>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>WooCommerce Payment Gateway Development: Keeping Card Data Off WordPress</title>
      <link>https://zstechlabs.com/blog/keeping-woocommerce-out-of-pci-scope-with-tokenized-card-vaults</link>
      <guid>https://zstechlabs.com/blog/keeping-woocommerce-out-of-pci-scope-with-tokenized-card-vaults</guid>
      <description>WooCommerce payment gateway development that keeps card numbers off WordPress: hosted iframes, tokenized payments, signed callbacks and Checkout Blocks support.</description>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>FBR Digital Invoicing Inside a Multi-Tenant ERP: How We Built It</title>
      <link>https://zstechlabs.com/blog/fbr-digital-invoicing-integration-for-pakistani-businesses</link>
      <guid>https://zstechlabs.com/blog/fbr-digital-invoicing-integration-for-pakistani-businesses</guid>
      <description>How FBR digital invoicing works inside FlowForg ERP: encrypted per-workspace tokens, payload mapping, sandbox scenarios, safe filing retries and the IRN QR.</description>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Designing an MCP Server for AI Agent Memory: Lessons from Knownbase</title>
      <link>https://zstechlabs.com/blog/designing-an-mcp-memory-server-for-ai-agents</link>
      <guid>https://zstechlabs.com/blog/designing-an-mcp-memory-server-for-ai-agents</guid>
      <description>Design lessons from building an MCP server for AI agent memory: token-budgeted context, cursor resume, contradiction checks, revisions, OAuth 2.1 and PKCE.</description>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>SSRF Protection for URL Imports and Webhooks: What Actually Works</title>
      <link>https://zstechlabs.com/blog/defending-url-imports-and-webhooks-against-ssrf</link>
      <guid>https://zstechlabs.com/blog/defending-url-imports-and-webhooks-against-ssrf</guid>
      <description>Practical SSRF protection for apps that fetch user URLs or send webhooks: check every DNS answer, pin the connection, re-validate redirects, and fail vaguely.</description>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Designing a License API for Commercial WordPress Plugins</title>
      <link>https://zstechlabs.com/blog/designing-a-license-api-for-wordpress-plugins</link>
      <guid>https://zstechlabs.com/blog/designing-a-license-api-for-wordpress-plugins</guid>
      <description>The server-side design behind plugin licensing: activation scoping, heartbeats vs lookups, brute-force protection, and the cross-plugin pitfall that&apos;s easy to miss.</description>
      <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Rolling Out a Content-Security-Policy Without Breaking Your Site</title>
      <link>https://zstechlabs.com/blog/csp-rollout-report-only-to-enforced</link>
      <guid>https://zstechlabs.com/blog/csp-rollout-report-only-to-enforced</guid>
      <description>A practical CSP rollout path: Report-Only mode, a violation report collector, the third-party script gotchas, and the criteria for safely switching to enforcement.</description>
      <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A Practical WordPress Security Checklist for Business Sites</title>
      <link>https://zstechlabs.com/blog/wordpress-security-checklist-for-business-sites</link>
      <guid>https://zstechlabs.com/blog/wordpress-security-checklist-for-business-sites</guid>
      <description>A no-nonsense WordPress security checklist for business sites: what actually reduces risk, in priority order, without turning site maintenance into a full-time job.</description>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The SaaS MVP Scope Playbook: What to Build First (and What to Cut)</title>
      <link>https://zstechlabs.com/blog/saas-mvp-scope-playbook</link>
      <guid>https://zstechlabs.com/blog/saas-mvp-scope-playbook</guid>
      <description>A practical framework for scoping a SaaS MVP: what earns a place in v1, what gets deferred, and the mistakes that quietly turn a 6-week MVP into a 6-month one.</description>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How WordPress Plugin Licensing and Updates Actually Work</title>
      <link>https://zstechlabs.com/blog/wordpress-plugin-licensing-how-updates-work</link>
      <guid>https://zstechlabs.com/blog/wordpress-plugin-licensing-how-updates-work</guid>
      <description>License keys, site activation limits, update manifests, and renewal reminders explained from the implementation side: what a good commercial plugin licensing system actually does.</description>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>API Integration Patterns We Use in Production</title>
      <link>https://zstechlabs.com/blog/api-integration-patterns-we-use</link>
      <guid>https://zstechlabs.com/blog/api-integration-patterns-we-use</guid>
      <description>Practical patterns for webhook signature verification, idempotent event processing, and price/plan resolution, drawn from a real Paddle payments integration, not theory.</description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How to Hire an Offshore Development Team (Without the Horror Stories)</title>
      <link>https://zstechlabs.com/blog/how-to-hire-an-offshore-development-team</link>
      <guid>https://zstechlabs.com/blog/how-to-hire-an-offshore-development-team</guid>
      <description>A practical guide to vetting, structuring, and managing an offshore development team, covering communication, timezone overlap, contracts, and the red flags to watch for.</description>
      <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Next.js vs WordPress for Business Sites: A Decision Framework</title>
      <link>https://zstechlabs.com/blog/nextjs-vs-wordpress-for-business-sites</link>
      <guid>https://zstechlabs.com/blog/nextjs-vs-wordpress-for-business-sites</guid>
      <description>A practical framework for choosing between Next.js and WordPress for your next business website, based on team structure, content needs, and long-term maintenance, not hype.</description>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>