<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.codewithkarani.com/</loc>
<lastmod>2026-07-24T18:00:00.000Z</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog</loc>
<lastmod>2026-07-24T18:00:00.000Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/topics</loc>
<lastmod>2026-07-24T18:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/about</loc>
<lastmod>2026-07-24T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/artificial-intelligence</loc>
<lastmod>2026-07-23T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/ai-for-business</loc>
<lastmod>2026-07-23T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/ai-in-africa</loc>
<lastmod>2026-07-22T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/ai-ethics-and-risk</loc>
<lastmod>2026-07-20T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/ai-engineering</loc>
<lastmod>2026-07-17T14:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/technology</loc>
<lastmod>2026-07-22T14:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/frappe_erpnext</loc>
<lastmod>2026-07-20T14:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/erpnext-for-business</loc>
<lastmod>2026-07-22T11:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/featured</loc>
<lastmod>2026-07-23T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/erpnext-inventory-management</loc>
<lastmod>2025-03-23T09:40:54.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/developer_corner</loc>
<lastmod>2026-07-18T14:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/upeosoft</loc>
<lastmod>2026-07-22T11:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/erpnext-doctrine</loc>
<lastmod>2026-01-23T19:20:58.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/ardhipro</loc>
<lastmod>2026-02-04T11:30:13.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/linux-for-erpnext</loc>
<lastmod>2026-07-23T18:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/upeocrm</loc>
<lastmod>2025-08-29T13:52:28.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/upeoretail</loc>
<lastmod>2026-07-21T11:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/upeo-ai</loc>
<lastmod>2026-07-23T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/paper2</loc>
<lastmod>2026-02-21T17:22:13.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/upeo-academy</loc>
<lastmod>2025-12-15T15:10:05.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/garisuite</loc>
<lastmod>2026-07-16T11:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/ishi</loc>
<lastmod>2026-07-11T11:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/software_design</loc>
<lastmod>2026-06-03T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/payments-fintech</loc>
<lastmod>2026-07-22T14:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/databases</loc>
<lastmod>2026-07-20T14:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/security</loc>
<lastmod>2026-07-24T18:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/business-of-software</loc>
<lastmod>2026-07-16T14:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/perspectives</loc>
<lastmod>2025-01-02T11:54:55.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/apis-integrations</loc>
<lastmod>2026-07-24T18:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/devops-containers</loc>
<lastmod>2026-07-24T13:30:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/mobile-engineering</loc>
<lastmod>2026-07-24T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/web-javascript</loc>
<lastmod>2026-06-24T18:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/category/python-fastapi</loc>
<lastmod>2026-06-12T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/blocked-by-cors-policy-stop-using-wildcard-origin</loc>
<lastmod>2026-07-24T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/argocd-stuck-waiting-for-completion-of-hook</loc>
<lastmod>2026-07-24T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/app-store-guideline-2-3-1-rejection-react-native-flutter</loc>
<lastmod>2026-07-24T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/certbot-default-to-letsencrypt-staging</loc>
<lastmod>2026-07-23T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/certbot-connection-refused-http-01-challenge</loc>
<lastmod>2026-07-23T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/dont-get-pressured-into-buying-ai-before-your-business-is-ready</loc>
<lastmod>2026-07-23T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/daraja-api-stk-push-c2b-b2c-production-guide</loc>
<lastmod>2026-07-22T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-partner-kenya-why-businesses-trust-upeosoft</loc>
<lastmod>2026-07-22T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/upeoxpense-ai-receipt-scanning-whatsapp-erpnext-expenses</loc>
<lastmod>2026-07-22T09:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/what-ai-can-actually-do-for-an-african-business-today</loc>
<lastmod>2026-07-22T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/systemd-service-keeps-app-running</loc>
<lastmod>2026-07-21T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pos-system-kenya-upeoretail-retail-management-software</loc>
<lastmod>2026-07-21T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-spot-ai-hype-and-vendor-snake-oil</loc>
<lastmod>2026-07-21T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mariadb-slow-query-log-erpnext-playbook</loc>
<lastmod>2026-07-20T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-implementation-kenya-what-the-process-actually-looks-like</loc>
<lastmod>2026-07-20T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-hallucinations-explained-why-confident-ai-is-often-wrong</loc>
<lastmod>2026-07-20T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kenyan-sme-self-hosted-server-security-checklist</loc>
<lastmod>2026-07-19T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/upeo-ai-platform-built-for-african-business</loc>
<lastmod>2026-07-19T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-governance-race-eu-ai-act-africa-response</loc>
<lastmod>2026-07-19T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/git-workflow-two-person-team</loc>
<lastmod>2026-07-18T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-for-car-dealerships-in-kenya-follow-up-every-lead</loc>
<lastmod>2026-07-18T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/state-of-ai-in-africa-2026-practical-map</loc>
<lastmod>2026-07-18T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/rag-over-erp-data-architecture-that-works</loc>
<lastmod>2026-07-17T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/global-erpnext-delivery-from-nairobi-to-the-world</loc>
<lastmod>2026-07-17T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/build-vs-buy-how-african-businesses-should-decide-on-ai</loc>
<lastmod>2026-07-17T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-price-software-in-east-africa</loc>
<lastmod>2026-07-16T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/car-dealership-software-kenya-garisuite-yard-management</loc>
<lastmod>2026-07-16T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-washing-when-ai-powered-means-nothing</loc>
<lastmod>2026-07-16T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-callback-failures-idempotency-duplicates</loc>
<lastmod>2026-07-15T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-support-and-maintenance-kenya-why-your-erp-needs-a-team</loc>
<lastmod>2026-07-15T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-bias-is-not-a-bug-and-it-hits-africa-hardest</loc>
<lastmod>2026-07-15T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nginx-reverse-proxy-tls-rate-limiting</loc>
<lastmod>2026-07-14T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-communication-layer-whatsapp-email-web-24-7</loc>
<lastmod>2026-07-14T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/compute-divide-africa-locked-out-of-ai</loc>
<lastmod>2026-07-14T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mariadb-indexes-erpnext-tabgl-entry-stock-ledger</loc>
<lastmod>2026-07-13T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-for-retail-shops-stock-customer-replies-daily-numbers</loc>
<lastmod>2026-07-13T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-that-speaks-our-languages-african-nlp</loc>
<lastmod>2026-07-13T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kenya-data-protection-act-engineering-requirements</loc>
<lastmod>2026-07-12T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/discovery-first-building-software-that-actually-gets-used</loc>
<lastmod>2026-07-12T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-true-cost-of-ai-for-business-beyond-the-subscription</loc>
<lastmod>2026-07-12T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/docker-practical-onramp-for-developers</loc>
<lastmod>2026-07-11T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/property-management-software-kenya-ishi-rent-management-system</loc>
<lastmod>2026-07-11T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-most-enterprise-ai-projects-fail-and-how-to-beat-the-odds</loc>
<lastmod>2026-07-11T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/self-hosting-open-weight-models-real-cost-math</loc>
<lastmod>2026-07-10T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/custom-software-development-kenya-when-off-the-shelf-stops-working</loc>
<lastmod>2026-07-10T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/data-privacy-in-the-age-of-ai-what-african-businesses-must-know</loc>
<lastmod>2026-07-10T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/software-contract-checklist-kenyan-developers</loc>
<lastmod>2026-07-09T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-sales-operations-never-lose-a-lead-to-slow-replies</loc>
<lastmod>2026-07-09T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/open-vs-closed-ai-models-global-south</loc>
<lastmod>2026-07-09T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-statement-reconciliation-double-entry</loc>
<lastmod>2026-07-08T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-for-real-estate-rent-reminders-tenant-queries-viewings</loc>
<lastmod>2026-07-08T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/where-africa-can-win-with-ai-agriculture-health-fintech</loc>
<lastmod>2026-07-08T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/linux-out-of-memory-oom-killer-explained</loc>
<lastmod>2026-07-07T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/production-grade-software-what-it-really-means</loc>
<lastmod>2026-07-07T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/your-data-is-the-foundation-why-ai-fails-without-it</loc>
<lastmod>2026-07-07T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-mariadb-binlogs-point-in-time-recovery</loc>
<lastmod>2026-07-06T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/waste-management-software-trashiq-operations-platform</loc>
<lastmod>2026-07-06T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-pilot-trap-why-ai-pocs-never-reach-production</loc>
<lastmod>2026-07-06T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-small-businesses-actually-get-hacked</loc>
<lastmod>2026-07-05T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/enterprise-integrations-connecting-mpesa-payments-and-apis-to-your-erp</loc>
<lastmod>2026-07-05T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-new-attack-surface-ai-security-risks-every-business-should-know</loc>
<lastmod>2026-07-05T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/github-actions-vps-deploy-budget-cicd</loc>
<lastmod>2026-07-04T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-workflow-automation-conversation-to-confirmed-action</loc>
<lastmod>2026-07-04T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/agentic-ai-promise-and-peril-of-ai-that-acts</loc>
<lastmod>2026-07-04T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/prompt-injection-vulnerability-class-african-developers</loc>
<lastmod>2026-07-03T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-for-saccos-member-queries-loans-compliant-automation</loc>
<lastmod>2026-07-03T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/closing-the-ai-skills-gap-in-africa</loc>
<lastmod>2026-07-03T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-your-software-estimates-are-always-wrong</loc>
<lastmod>2026-07-02T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-customization-when-to-extend-when-to-build-custom</loc>
<lastmod>2026-07-02T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-for-customer-service-in-africa-where-it-works-and-backfires</loc>
<lastmod>2026-07-02T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/payment-provider-abstraction-layer-africa</loc>
<lastmod>2026-07-01T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/circular-economy-software-ecoatlas-msme-impact-reporting</loc>
<lastmod>2026-07-01T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-quiet-truth-about-ai-roi</loc>
<lastmod>2026-07-01T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/restore-first-backup-methodology</loc>
<lastmod>2026-06-30T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mobile-apps-on-erpnext-giving-your-field-team-a-real-tool</loc>
<lastmod>2026-06-30T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-hidden-environmental-cost-of-ai-energy-water-and-africa</loc>
<lastmod>2026-06-30T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-database-40gb-archiving-strategies</loc>
<lastmod>2026-06-29T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-business-intelligence-live-business-data-answers</loc>
<lastmod>2026-06-29T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/will-ai-take-african-jobs-augmentation-vs-displacement</loc>
<lastmod>2026-06-29T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/secrets-management-small-teams-sops-age</loc>
<lastmod>2026-06-28T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-for-garages-bookings-quotes-follow-ups</loc>
<lastmod>2026-06-28T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/data-sovereignty-who-owns-africas-ai-future</loc>
<lastmod>2026-06-28T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/certbot-http-01-fails-force-https-redirect-hsts</loc>
<lastmod>2026-06-27T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/api-design-mistakes-that-cost-six-months</loc>
<lastmod>2026-06-27T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-health-check-free-upeoaudit-audit-tool</loc>
<lastmod>2026-06-27T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/certbot-renewal-silent-failure-alerting</loc>
<lastmod>2026-06-26T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/structured-outputs-json-mode-constrained-decoding</loc>
<lastmod>2026-06-26T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/whatsapp-automation-for-kenyan-businesses-ai-that-works-where-customers-are</loc>
<lastmod>2026-06-26T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/crashloopbackoff-no-logs-systematic-diagnosis</loc>
<lastmod>2026-06-25T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-fixed-price-erp-implementations-fail</loc>
<lastmod>2026-06-25T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/data-sovereignty-in-ai-keep-data-in-your-environment</loc>
<lastmod>2026-06-25T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/csp-unsafe-inline-nextjs-nonce</loc>
<lastmod>2026-06-24T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kra-etims-oscu-api-integration-guide</loc>
<lastmod>2026-06-24T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ai-for-logistics-africa-tracking-updates-exceptions</loc>
<lastmod>2026-06-24T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/daraja-invalid-access-token-401-003-01-vs-404-001-03</loc>
<lastmod>2026-06-23T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ssh-hardening-fresh-vps-20-minutes</loc>
<lastmod>2026-06-23T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-backbone-one-stack-many-industries-upeosoft</loc>
<lastmod>2026-06-23T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/err-require-esm-vercel-nextjs-16-2-monorepo</loc>
<lastmod>2026-06-22T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/rate-limiting-waf-bot-flood-cheap-vps</loc>
<lastmod>2026-06-22T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-for-manufacturing-in-kenya-production-boms-and-real-costing</loc>
<lastmod>2026-06-22T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/helm-another-operation-in-progress-fix</loc>
<lastmod>2026-06-21T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-migrations-must-be-idempotent</loc>
<lastmod>2026-06-21T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/human-oversight-by-design-ai-under-human-control</loc>
<lastmod>2026-06-21T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/helm-has-no-deployed-releases-broken-history</loc>
<lastmod>2026-06-20T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/evaluating-llm-features-before-you-ship</loc>
<lastmod>2026-06-20T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/wavu-turning-conversations-into-online-sales</loc>
<lastmod>2026-06-20T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/helm-pre-upgrade-hook-stuck-pending-upgrade</loc>
<lastmod>2026-06-19T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/multi-currency-east-africa-kes-tzs-ugx-fx-gap</loc>
<lastmod>2026-06-19T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-for-distribution-and-wholesale-stock-branches-and-margins</loc>
<lastmod>2026-06-19T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/hikaricp-connection-is-not-available-timeout</loc>
<lastmod>2026-06-18T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/reading-linux-logs-journalctl-3am-outage</loc>
<lastmod>2026-06-18T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/business-specific-ai-vs-generic-chatbot</loc>
<lastmod>2026-06-18T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubectl-unauthorized-eks-iam-identity</loc>
<lastmod>2026-06-17T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/reading-unfamiliar-codebase-without-panic</loc>
<lastmod>2026-06-17T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/jwt-localstorage-xss-httponly-cookie-fix</loc>
<lastmod>2026-06-17T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-dns-timeouts-ndots-conntrack-race</loc>
<lastmod>2026-06-16T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/claude-code-agentic-coding-daily-workflow</loc>
<lastmod>2026-06-16T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-cross-namespace-secrets-drift</loc>
<lastmod>2026-06-16T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-liveness-readiness-shared-health-endpoint</loc>
<lastmod>2026-06-15T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/cron-vs-systemd-timers-vs-frappe-scheduler</loc>
<lastmod>2026-06-15T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-hpa-not-scaling-describe-conditions</loc>
<lastmod>2026-06-15T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-1001-transaction-in-progress-retry</loc>
<lastmod>2026-06-14T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/minified-react-error-418-423-425-nextjs-production</loc>
<lastmod>2026-06-14T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/letsencrypt-too-many-certificates-already-issued-rate-limit</loc>
<lastmod>2026-06-14T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-daraja-429-rate-limit-apigee-fault</loc>
<lastmod>2026-06-13T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-c2b-sandbox-callbacks-unreliable</loc>
<lastmod>2026-06-13T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-1025-9999-unable-to-send-stk-prompt</loc>
<lastmod>2026-06-13T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-error-2001-invalid-initiator-stale-certificate</loc>
<lastmod>2026-06-12T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-daraja-wrong-credentials-500-001-1001</loc>
<lastmod>2026-06-12T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-daraja-invalid-businessshortcode-python-requests</loc>
<lastmod>2026-06-12T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-error-1213-deadlock-found-retry-correctly</loc>
<lastmod>2026-06-11T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-resultcode-4999-not-a-failure</loc>
<lastmod>2026-06-11T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-invalid-access-token-after-going-live</loc>
<lastmod>2026-06-11T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-server-has-gone-away-four-causes</loc>
<lastmod>2026-06-10T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-lock-wait-timeout-exceeded-error-1205</loc>
<lastmod>2026-06-10T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-got-a-packet-bigger-than-max-allowed-packet</loc>
<lastmod>2026-06-10T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/next-dev-memory-growth-what-actually-helps</loc>
<lastmod>2026-06-09T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/next-build-javascript-heap-out-of-memory</loc>
<lastmod>2026-06-09T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/next-auth-refresh-token-rotation-drops-new-token</loc>
<lastmod>2026-06-09T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-hydration-failed-find-the-real-mismatch</loc>
<lastmod>2026-06-08T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-edge-runtime-dynamic-code-evaluation-middleware</loc>
<lastmod>2026-06-08T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-dynamicservererror-static-rendering</loc>
<lastmod>2026-06-08T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-ts-plugin-misses-serializable-props-default-export</loc>
<lastmod>2026-06-07T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-revalidate-ignored-in-production</loc>
<lastmod>2026-06-07T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-meta-tags-body-instead-of-head</loc>
<lastmod>2026-06-07T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-could-not-resize-shared-memory-segment-docker</loc>
<lastmod>2026-06-06T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pod-has-unbound-persistentvolumeclaims</loc>
<lastmod>2026-06-06T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/npm-audit-cve-triage-without-disabling-it</loc>
<lastmod>2026-06-06T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-transaction-id-wraparound-runbook</loc>
<lastmod>2026-06-05T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-too-many-clients-already-max-connections</loc>
<lastmod>2026-06-05T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-remaining-connection-slots-reserved-superuser</loc>
<lastmod>2026-06-05T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/upgrading-erpnext-from-version-15-to-version-16-a-field-tested-guide</loc>
<lastmod>2026-06-04T19:27:55.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/react-native-version-mismatch-rebuild-is-half-the-fix</loc>
<lastmod>2026-06-04T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/prisma-connection-pool-timeout-production</loc>
<lastmod>2026-06-04T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/suppresshydrationwarning-freezes-server-value</loc>
<lastmod>2026-06-03T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/slow-select-innodb-low-disk-read-speed</loc>
<lastmod>2026-06-03T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/redis-cache-invalidation-stale-data-fix</loc>
<lastmod>2026-06-03T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/unable-to-get-local-issuer-certificate-nginx-chain</loc>
<lastmod>2026-06-02T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/turbopack-cannot-find-module-pino-dynamic-require</loc>
<lastmod>2026-06-02T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/terraform-error-acquiring-state-lock-force-unlock</loc>
<lastmod>2026-06-02T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/argocd-statefulset-outofsync-serversideapply</loc>
<lastmod>2026-06-01T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/acme-tls-handshake-failure-behind-load-balancer</loc>
<lastmod>2026-06-01T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/webhook-signature-verification-raw-body</loc>
<lastmod>2026-06-01T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/celery-worker-parent-memory-leak-what-helps</loc>
<lastmod>2026-05-31T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/authjs-v5-redirect-wrong-url-reverse-proxy-multi-domain</loc>
<lastmod>2026-05-31T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/asyncio-ssl-tls-memory-leak-workaround</loc>
<lastmod>2026-05-31T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/daraja-1032-request-cancelled-by-user</loc>
<lastmod>2026-05-30T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ci-auto-retry-hides-flaky-tests-not-fixing-them</loc>
<lastmod>2026-05-30T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/certbot-cert-name-allow-subset-of-names-reissuance</loc>
<lastmod>2026-05-30T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/docker-compose-postgres-connection-refused-localhost</loc>
<lastmod>2026-05-29T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ddns-subdomain-letsencrypt-rate-limit-public-suffix-list</loc>
<lastmod>2026-05-29T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/daraja-access-token-caching-404-001-03</loc>
<lastmod>2026-05-29T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fail2ban-silently-stopped-banning-post-update-check</loc>
<lastmod>2026-05-28T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/err-require-esm-nextjs-upgrade-cjs-esm-interop</loc>
<lastmod>2026-05-28T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-invoice-rounding-precision-settings</loc>
<lastmod>2026-05-28T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/flutter-execution-failed-processdebugresources-real-error</loc>
<lastmod>2026-05-27T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/flutter-cocoapods-did-not-set-base-configuration</loc>
<lastmod>2026-05-27T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-422-unprocessable-entity-read-the-error-body</loc>
<lastmod>2026-05-27T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/github-actions-cache-never-hits-wrong-file-hash-fork-pr</loc>
<lastmod>2026-05-26T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-rest-api-reference-filters-auth-child-tables</loc>
<lastmod>2026-05-26T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/flutter-over-the-air-updates-without-app-store-review</loc>
<lastmod>2026-05-26T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/hsts-preload-list-almost-irreversible-before-you-submit</loc>
<lastmod>2026-05-25T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/gpt-oss-120b-harmony-tool-calls-400-bad-request</loc>
<lastmod>2026-05-25T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/github-actions-pull-request-target-fork-checkout-pwn-request</loc>
<lastmod>2026-05-25T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ip-rate-limiting-credential-stuffing-per-account-defense</loc>
<lastmod>2026-05-24T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ingress-nginx-admission-webhook-x509-certificate-unknown-authority</loc>
<lastmod>2026-05-24T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/human-in-the-loop-edited-tool-call-ignored</loc>
<lastmod>2026-05-24T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubectl-did-you-specify-the-right-host-or-port</loc>
<lastmod>2026-05-23T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/jwt-no-logout-expiry-revocation-refresh-tokens</loc>
<lastmod>2026-05-23T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/jwt-algorithm-confusion-alg-none-rs256-hs256</loc>
<lastmod>2026-05-23T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-pods-namespaces-stuck-terminating-finalizers</loc>
<lastmod>2026-05-22T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-oomkilled-find-the-real-cause</loc>
<lastmod>2026-05-22T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubectl-edit-reverted-gitops-argocd-flux-emergency-change</loc>
<lastmod>2026-05-22T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/model-upgrade-prompt-regression-testing</loc>
<lastmod>2026-05-21T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/letsencrypt-cloudflare-proxy-use-dns-01-not-http-01</loc>
<lastmod>2026-05-21T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-rolling-update-connection-refused-prestop-race</loc>
<lastmod>2026-05-21T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-error-1114-the-table-is-full-wrong-filesystem</loc>
<lastmod>2026-05-20T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-1037-stk-push-never-reached-phone</loc>
<lastmod>2026-05-20T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-1019-vs-1037-vs-1032-stk-push-failures</loc>
<lastmod>2026-05-20T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/next-public-env-vars-baked-build-time-docker-runtime</loc>
<lastmod>2026-05-19T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-waiting-for-table-metadata-lock-online-ddl</loc>
<lastmod>2026-05-19T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-illegal-mix-of-collations-1267-utf8mb4</loc>
<lastmod>2026-05-19T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-searchparams-empty-production-static-rendering</loc>
<lastmod>2026-05-18T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-found-multiple-lockfiles-warning-monorepo-root</loc>
<lastmod>2026-05-18T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-16-0-1-prerendering-build-regression</loc>
<lastmod>2026-05-18T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-docker-role-does-not-exist-postgres-user-volume</loc>
<lastmod>2026-05-17T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-autovacuum-too-passive-table-bloat-dead-tuples</loc>
<lastmod>2026-05-17T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/orm-n-plus-1-query-problem-ships-to-production</loc>
<lastmod>2026-05-17T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pydantic-v1-to-v2-migration-gotchas-not-in-the-guide</loc>
<lastmod>2026-05-16T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pydantic-mypy-plugin-unexpected-keyword-argument-false-positive</loc>
<lastmod>2026-05-16T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-panic-no-space-left-on-device-pg-wal</loc>
<lastmod>2026-05-16T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/rag-metadata-filter-not-filtering-tenant-isolation-bug</loc>
<lastmod>2026-05-15T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pytest-asyncio-event-loop-already-running-getfixturevalue</loc>
<lastmod>2026-05-15T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pydantic-v2-mockvalser-schemaserializer-forward-ref</loc>
<lastmod>2026-05-15T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/sqlalchemy-queuepool-limit-exhausted-fastapi</loc>
<lastmod>2026-05-14T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/redis-oom-command-not-allowed-eviction-policy</loc>
<lastmod>2026-05-14T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/rag-retrieval-degrades-as-corpus-grows</loc>
<lastmod>2026-05-14T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/structured-output-parser-breaks-reasoning-model-multichannel</loc>
<lastmod>2026-05-13T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/streaming-llm-guardrails-pii-leak-buffering</loc>
<lastmod>2026-05-13T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/stop-job-running-user-manager-uid-1000</loc>
<lastmod>2026-05-13T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/turbopack-dev-infinite-suspense-remount-react-lazy</loc>
<lastmod>2026-05-12T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/token-counter-overcounts-multimodal-base64-attachments</loc>
<lastmod>2026-05-12T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/testing-payment-integrations-flaky-sandbox-recorded-fixtures</loc>
<lastmod>2026-05-12T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/usesession-manual-reload-nextauth-app-router</loc>
<lastmod>2026-05-11T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/usesearchparams-suspense-boundary-build-only-error</loc>
<lastmod>2026-05-11T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/typescript-path-aliases-break-transpilepackages-monorepo</loc>
<lastmod>2026-05-11T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/vector-store-concurrent-writes-corrupt-index</loc>
<lastmod>2026-05-10T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/uvicorn-error-logger-name-false-alarms</loc>
<lastmod>2026-05-10T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/uvicorn-error-loading-asgi-app-could-not-import-module</loc>
<lastmod>2026-05-10T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/agent-hallucinates-invalid-tool-name-fewer-clearer-tools</loc>
<lastmod>2026-05-09T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/webhook-signature-verification-body-parser-order</loc>
<lastmod>2026-05-09T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/vite-504-outdated-optimize-dep-explained</loc>
<lastmod>2026-05-09T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/certbot-nginx-plugin-bypasses-systemd-renewal</loc>
<lastmod>2026-05-08T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/background-jobs-idempotent-not-exactly-once</loc>
<lastmod>2026-05-08T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/android-keystore-file-not-set-signing-config-release-ci</loc>
<lastmod>2026-05-08T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/correlate-logs-metrics-traces-trace-id</loc>
<lastmod>2026-05-07T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/chmod-777-permission-denied-what-to-do-instead</loc>
<lastmod>2026-05-07T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/certbot-nginx-plugin-misconfigures-server-block-fix-by-hand</loc>
<lastmod>2026-05-07T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/dns-01-delegate-acme-challenge-cname-separate-provider</loc>
<lastmod>2026-05-06T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/diagnosing-slow-server-zero-budget-no-apm</loc>
<lastmod>2026-05-06T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/could-not-get-lock-dpkg-lock-frontend-check-first</loc>
<lastmod>2026-05-06T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-cross-site-cookies-samesite-none-secure</loc>
<lastmod>2026-05-05T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-cors-allow-credentials-wildcard-trap</loc>
<lastmod>2026-05-05T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/embedded-vector-db-out-of-ram-sizing-before-production</loc>
<lastmod>2026-05-05T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-validation-errors-friendly-field-messages</loc>
<lastmod>2026-05-04T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-production-memory-leak-root-cause-checklist</loc>
<lastmod>2026-05-04T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-logs-missing-docker-gunicorn-uvicorn</loc>
<lastmod>2026-05-04T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-max-64-keys-allowed-index-limit</loc>
<lastmod>2026-05-03T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-enqueue-cant-pickle-lazyuser-document-background-job</loc>
<lastmod>2026-05-03T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-yield-dependencies-cleanup-0-106-broken</loc>
<lastmod>2026-05-03T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-socketio-not-working-production-diagnose-first</loc>
<lastmod>2026-05-02T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-scheduled-jobs-not-running-checklist</loc>
<lastmod>2026-05-02T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-redis-connection-refused-error-111-find-real-cause</loc>
<lastmod>2026-05-02T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/get-openai-callback-returns-zero-tokens-cost</loc>
<lastmod>2026-05-01T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/functions-cannot-be-passed-to-client-components-rsc</loc>
<lastmod>2026-05-01T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-table-tabdefaultvalue-doesnt-exist-new-site</loc>
<lastmod>2026-05-01T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/jwt-audience-issuer-validation-microservices</loc>
<lastmod>2026-04-30T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/json-schema-works-openai-breaks-gemini-structured-output</loc>
<lastmod>2026-04-30T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-read-a-stack-trace-find-your-code</loc>
<lastmod>2026-04-30T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-secrets-base64-not-encrypted</loc>
<lastmod>2026-04-29T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-configmap-change-restart-pods-checksum</loc>
<lastmod>2026-04-29T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-0-nodes-available-insufficient-memory-requests-taints</loc>
<lastmod>2026-04-29T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/llm-retry-library-hides-real-error-tenacity-retryerror</loc>
<lastmod>2026-04-28T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/letsencrypt-cloudflare-proxy-use-dns-01-not-http-01-2</loc>
<lastmod>2026-04-28T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/laravel-419-token-mismatch-production-diagnostic-order</loc>
<lastmod>2026-04-28T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/maximum-context-length-exceeded-token-budgeting</loc>
<lastmod>2026-04-27T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mariadb-unknown-variable-innodb-file-format-barracuda</loc>
<lastmod>2026-04-27T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mariadb-not-configured-barracuda-storage-engine-frappe</loc>
<lastmod>2026-04-27T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/moduleresolution-nodenext-breaks-nextjs-use-bundler</loc>
<lastmod>2026-04-26T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/modulenotfounderror-fastapi-editable-install-causes</loc>
<lastmod>2026-04-26T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/migrating-tally-legacy-books-into-erpnext-without-losing-ledger</loc>
<lastmod>2026-04-26T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-nightly-reconciliation-transaction-status-api</loc>
<lastmod>2026-04-25T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mpesa-daraja-callback-reconciliation-transaction-status-query</loc>
<lastmod>2026-04-25T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/monorepo-github-actions-path-filters-shared-code</loc>
<lastmod>2026-04-25T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/multiple-acme-challenge-txt-records-two-clients</loc>
<lastmod>2026-04-24T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/multi-tenant-next-auth-nextauth-url-host-validation</loc>
<lastmod>2026-04-24T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/multi-server-cluster-certificates-issue-once-distribute</loc>
<lastmod>2026-04-24T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/next-script-beforeinteractive-hydration-app-router</loc>
<lastmod>2026-04-23T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-utf8-vs-utf8mb4-emoji-incorrect-string-value</loc>
<lastmod>2026-04-23T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-import-progress-pv-limits</loc>
<lastmod>2026-04-23T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/no-module-named-pydantic-core-docker-lambda-architecture</loc>
<lastmod>2026-04-22T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nginx-x-forwarded-for-spoofing-realip-rate-limiting</loc>
<lastmod>2026-04-22T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-hydration-mismatch-turbopack-edge-runtime</loc>
<lastmod>2026-04-22T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/old-android-openssl-tls-failure-root-ca-transition</loc>
<lastmod>2026-04-21T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nodejs-stream-memory-leak-bisecting-runtime-regression</loc>
<lastmod>2026-04-21T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/no-space-left-on-device-inode-exhaustion-df-i</loc>
<lastmod>2026-04-21T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/oom-killer-read-dmesg-find-memory-hog</loc>
<lastmod>2026-04-20T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/stop-sending-blind-sms-introducing-upeosms-for-smart-bulk-messaging-in-frappe</loc>
<lastmod>2026-04-20T15:31:58.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/youre-using-erpnext-but-do-you-actually-know-what-your-customers-think</loc>
<lastmod>2026-04-20T15:32:50.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pg-upgrade-fails-on-extensions-postgis-preflight</loc>
<lastmod>2026-04-19T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/payment-webhook-signature-clock-drift-ntp-fix</loc>
<lastmod>2026-04-19T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/oomkilled-exit-code-137-leak-vs-limit-vs-jvm</loc>
<lastmod>2026-04-19T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-idle-in-transaction-bloat-locks</loc>
<lastmod>2026-04-18T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-explain-analyze-loops-multiplier</loc>
<lastmod>2026-04-18T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pip-externally-managed-environment-pep-668-fix</loc>
<lastmod>2026-04-18T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/prometheus-cardinality-explosion-find-the-label</loc>
<lastmod>2026-04-17T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-timestamp-vs-timestamptz-dst-bug</loc>
<lastmod>2026-04-17T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-no-pg-hba-conf-entry-for-host-scoped-fix</loc>
<lastmod>2026-04-17T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/read-only-file-system-live-server-diagnose-before-remount</loc>
<lastmod>2026-04-16T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/react-native-android-duplicate-class-find-conflicting-dependency</loc>
<lastmod>2026-04-16T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/quantized-model-vram-kv-cache-activations-overhead</loc>
<lastmod>2026-04-16T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/six-day-certificates-audit-renewal-automation</loc>
<lastmod>2026-04-15T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/serverexternalpackages-pnpm-turbopack-not-working-nextjs</loc>
<lastmod>2026-04-15T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/revalidatetag-not-invalidating-cache-nextjs</loc>
<lastmod>2026-04-15T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/temporary-failure-in-name-resolution-ubuntu-systemd-resolved</loc>
<lastmod>2026-04-14T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/tailwind-v4-nextjs-tailwindcss-postcss-plugin-moved</loc>
<lastmod>2026-04-14T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/systemd-start-request-repeated-too-quickly-real-fix</loc>
<lastmod>2026-04-14T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/webhook-succeeds-database-write-fails-orphaned-payments</loc>
<lastmod>2026-04-13T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/webhook-duplicate-processing-timeout-idempotency</loc>
<lastmod>2026-04-13T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/vllm-asyncenginedeaderror-background-loop-dead</loc>
<lastmod>2026-04-13T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fastapi-async-endpoints-run-serial-blocking-event-loop</loc>
<lastmod>2026-04-12T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/celery-task-received-but-not-executing</loc>
<lastmod>2026-04-12T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/alert-fatigue-noisy-on-call-discipline-not-tooling</loc>
<lastmod>2026-04-12T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/a-better-way-to-manage-properties-inside-ishi-full-system-demo</loc>
<lastmod>2026-04-11T21:21:33.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-query-builder-cannot-import-table-use-doctype</loc>
<lastmod>2026-04-11T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/flaky-tests-live-external-apis-mock-the-boundary</loc>
<lastmod>2026-04-11T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/upeo-ai-turn-your-erpnext-data-into-instant-answers</loc>
<lastmod>2026-04-10T20:51:47.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/last-write-wins-sync-silently-destroys-user-data</loc>
<lastmod>2026-04-10T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/kubernetes-imagepullbackoff-five-real-causes</loc>
<lastmod>2026-04-10T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-revalidate-0-supabase-data-still-cached</loc>
<lastmod>2026-04-09T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/nextjs-dynamic-named-import-hydration-error</loc>
<lastmod>2026-04-09T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mysql-seconds-behind-master-lies-replication-lag</loc>
<lastmod>2026-04-09T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/too-many-open-files-wrong-limit-systemd-limitnofile</loc>
<lastmod>2026-04-08T18:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/postgres-jsonb-anti-pattern-no-schema</loc>
<lastmod>2026-04-08T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/openai-compatible-gateway-not-compatible-every-model</loc>
<lastmod>2026-04-08T09:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/what-to-log-so-3am-you-can-debug-it</loc>
<lastmod>2026-04-07T13:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-fix-sign_and_send_pubkey-signing-failed-agent-refused-operation-github-ssh-error</loc>
<lastmod>2026-04-07T12:02:17.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/paper2-the-restaurant-hospitality-system-built-for-speed-control-and-real-operational-intelligence</loc>
<lastmod>2026-02-21T17:22:13.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/ardhipro-turning-land-sales-from-guesswork-into-a-controlled-profitable-system</loc>
<lastmod>2026-02-04T11:30:13.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-in-production-why-systems-become-slow-unreliable-and-hard-to-trust-and-how-upeosight-fixes-it</loc>
<lastmod>2026-01-23T19:20:58.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-shopify-integration-architecture-pitfalls-and-production-engineering-lessons</loc>
<lastmod>2026-01-22T18:42:55.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-shopify-integration-solving-the-real-business-problems-no-one-talks-about</loc>
<lastmod>2026-01-22T01:45:49.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/server-hardening-production-security-for-erpnext-complete-linux-guide</loc>
<lastmod>2026-01-09T21:50:44.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/understanding-files-folders-ownership-in-linux-why-erpnext-servers-break</loc>
<lastmod>2026-01-09T19:55:10.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/what-linux-really-is-and-why-it-runs-the-world-quietly</loc>
<lastmod>2026-01-09T16:32:09.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/you-can-now-start-your-own-erpnext-saas-business-in-minutes</loc>
<lastmod>2026-01-08T23:53:28.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/building-saas-platforms-on-erpnext</loc>
<lastmod>2026-01-07T13:21:52.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/linux-for-erpnext-what-a-server-really-is-and-why-businesses-use-linux</loc>
<lastmod>2026-01-06T19:18:56.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-as-backend-for-mobile-apps-portals</loc>
<lastmod>2026-01-06T12:44:36.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/most-car-yards-are-busy-but-financially-blind</loc>
<lastmod>2025-12-26T22:13:52.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-import-huge-datasets-into-erpnext-the-right-way-without-pain</loc>
<lastmod>2025-12-21T01:11:57.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/units-of-measure-uoms-conversion-factors-in-erpnext</loc>
<lastmod>2025-12-15T15:10:05.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/garisuite-yard-car-dealership-software-kenya</loc>
<lastmod>2025-10-14T08:36:51.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-every-service-business-needs-a-client-portal-and-how-upeolens-delivers</loc>
<lastmod>2025-09-16T22:48:43.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/upeotelephony-erpnext-call-center-integration-powered-by-freepbx</loc>
<lastmod>2025-08-29T15:07:06.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-whatsapp-business-integration-transform-how-your-business-communicates</loc>
<lastmod>2025-08-29T13:52:28.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/it-doesnt-end-at-the-sale-the-upeocrm-way</loc>
<lastmod>2025-08-06T13:56:14.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-ultimate-shopify-erpnext-integration-a-complete-solution-for-modern-ecommerce-businesses</loc>
<lastmod>2025-07-21T23:13:30.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/africa-is-ready-but-is-the-infrastructure</loc>
<lastmod>2025-07-16T13:53:14.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/transform-the-way-you-sell-welcome-to-upeocrm-where-leads-come-alive-and-customers-stay-loyal</loc>
<lastmod>2025-06-24T13:57:04.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-land-selling-businesses-are-collapsing-and-how-ardhipro-is-changing-the-game</loc>
<lastmod>2025-06-24T11:01:49.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/smart-waste-clean-future-how-technology-is-powering-climate-action-from-the-ground-up</loc>
<lastmod>2025-06-03T12:26:18.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/trapped-in-the-system-why-most-erps-fail-businesses</loc>
<lastmod>2025-05-24T22:31:11.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/hudumaflow-revolutionizing-field-technician-and-business-management</loc>
<lastmod>2025-05-12T00:06:58.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-smarter-way-to-manage-receivables-introducing-the-customer-statement-with-aging-in-erpnext</loc>
<lastmod>2025-05-02T01:06:27.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erp-implementation-the-top-8-reasons-why-mindset-matters-more-than-budget</loc>
<lastmod>2025-04-27T23:47:04.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/securing-deliveries-how-technology-is-transforming-the-way-businesses-protect-delivery-notes</loc>
<lastmod>2025-04-27T23:30:13.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/introducing-upeoretail-web-the-pos-that-moves-with-you</loc>
<lastmod>2025-03-30T20:32:12.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/introducing-our-frappe-powered-loan-management-app-simplifying-lending-repayments</loc>
<lastmod>2025-03-26T02:16:09.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mastering-product-bundles-in-erpnext-for-efficient-inventory-management</loc>
<lastmod>2025-03-23T09:40:54.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/revolutionizing-land-sales-a-smart-erp-solution-for-land-selling-companies</loc>
<lastmod>2025-03-19T08:56:49.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mastering-serial-and-batch-numbers-in-erpnext-a-complete-guide-to-inventory-tracking</loc>
<lastmod>2025-03-19T08:09:48.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mastering-project-accounting-in-erpnext-tracking-expenses-revenue-budgets</loc>
<lastmod>2025-03-13T16:54:58.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/transforming-fleet-management-with-frappe-erpnext-a-complete-erp-solution</loc>
<lastmod>2025-03-13T12:50:04.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-transfer-files-from-a-remote-ubuntu-server-to-local-using-scp-password-authentication</loc>
<lastmod>2025-03-11T20:36:54.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/the-grand-finale-upeosofts-first-class-farewell-from-mombasa</loc>
<lastmod>2025-03-07T14:57:29.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/luxury-relaxation-and-team-spirit-upeosofts-mombasa-adventure-begins</loc>
<lastmod>2025-03-04T23:36:25.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/become-a-pro-frappe-erpnext-developer-master-customization-development-deployment</loc>
<lastmod>2025-02-18T18:55:56.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/upeoretail-just-got-smarter-introducing-analytics-expense-reporting</loc>
<lastmod>2025-02-18T13:40:20.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/upeoretail-mobile-pos-the-smartest-way-to-sell-manage-your-business-on-the-go</loc>
<lastmod>2025-02-10T23:46:21.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-perform-stock-reconciliation-in-erpnext-a-step-by-step-guide</loc>
<lastmod>2025-02-03T10:20:25.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/handling-stock-movements-in-erpnext-purchase-receipts-delivery-notes-and-stock-transfers-explained</loc>
<lastmod>2025-01-31T10:44:07.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/master-erpnext-warehouse-management-optimize-your-inventory-for-maximum-efficiency</loc>
<lastmod>2025-01-23T19:51:20.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/unlocking-the-power-of-upeoretail-a-robust-pos-for-retail-success</loc>
<lastmod>2025-01-23T00:07:50.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/setting-up-price-lists-and-item-prices-in-erpnext</loc>
<lastmod>2025-01-22T06:58:22.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/discover-ishi-the-ultimate-property-management-solution</loc>
<lastmod>2025-01-21T06:48:14.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mastering-item-attributes-and-variants-in-erpnext</loc>
<lastmod>2025-01-21T06:37:59.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/mastering-units-of-measure-uom-in-erpnext</loc>
<lastmod>2025-01-20T06:38:36.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/creating-and-managing-items-in-erpnext</loc>
<lastmod>2025-01-19T22:19:21.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/getting-started-with-erpnext-inventory-management</loc>
<lastmod>2025-01-18T09:15:35.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/key-reasons-to-use-erpnext-for-stock-management</loc>
<lastmod>2025-01-17T07:14:54.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/unlock-the-power-of-erpnext-shopify-integration-a-complete-solution-for-e-commerce-management</loc>
<lastmod>2025-01-16T15:39:01.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/master-erpnext-inventory-management-a-comprehensive-video-series</loc>
<lastmod>2025-01-16T06:55:25.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/revolutionize-your-payments-with-mpesa-and-whatsapp-integration-for-erpnext</loc>
<lastmod>2025-01-07T22:48:03.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/choosing-the-right-erp-solution-a-comprehensive-comparison</loc>
<lastmod>2025-01-03T11:32:24.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-i-rebranded-to-karani-online-broadening-the-horizon-of-impact</loc>
<lastmod>2025-01-02T11:54:55.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/cost-of-goods-sold-in-erpnext-using-the-landed-cost-voucher</loc>
<lastmod>2024-10-05T18:52:36.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/transforming-waste-management-upeosofts-comprehensive-waste-management-software</loc>
<lastmod>2024-08-06T07:58:17.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-install-erpnext-version-15-in-ubuntu-24-04-a-step-by-step-guide</loc>
<lastmod>2026-04-20T14:08:04.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/interactive-frappe-and-whatsapp-integration-whatsapp-and-frappe-framework-for-real-time-data-management</loc>
<lastmod>2024-06-22T10:36:35.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/understanding-zero-rated-and-tax-exempt-customers-in-erpnext-a-kenyan-case-study</loc>
<lastmod>2024-06-15T01:34:14.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-erp-implementations-fail-avoiding-the-top-10-implementation-mistakes</loc>
<lastmod>2024-06-13T23:09:48.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-set-up-and-manage-tax-withholding-in-erpnext</loc>
<lastmod>2024-06-05T21:27:31.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/error-deprecated-ansible-builtin-include-has-been-removed</loc>
<lastmod>2024-06-04T21:05:54.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/optimizing-erpnext-performance-tips-for-faster-and-smoother-operations</loc>
<lastmod>2024-06-02T17:56:32.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/phased-vs-big-bang-implementation-of-an-erp-case-study-of-erpnext</loc>
<lastmod>2024-05-23T22:36:50.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/explore-erpnext-without-having-to-install-welcome-to-the-erpnext-playground</loc>
<lastmod>2024-04-07T18:43:28.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/installing-a-custom-app-on-your-running-erpnext-instance-installed-via-docker</loc>
<lastmod>2024-04-06T17:41:23.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/installing-erpnext-via-docker-for-beginners-a-step-by-step-guide</loc>
<lastmod>2024-04-06T17:42:36.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/beginners-guide-to-installing-docker-on-ubuntu-22-04-a-step-by-step-tutorial</loc>
<lastmod>2024-04-06T14:49:34.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/revolutionizing-expense-management-introducing-tax-splitting-in-erpnext-expense-management</loc>
<lastmod>2024-04-01T14:40:31.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-and-frappe-expense-management-module</loc>
<lastmod>2024-03-30T01:47:27.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/embrace-the-future-why-software-engineers-shouldnt-fear-devin-ai-taking-over</loc>
<lastmod>2024-03-14T19:17:41.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/resolving-frappe-application-startup-issue-no-module-named-redis-commands</loc>
<lastmod>2024-01-28T16:41:44.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-upgrade-erpnext-from-version-14-to-version-15</loc>
<lastmod>2024-01-07T19:23:59.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-install-erpnext-version-15-in-ubuntu-a-step-by-step-guide</loc>
<lastmod>2025-05-07T09:30:24.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-solve-the-integrityerror1062-issue-when-installing-a-frappe-app</loc>
<lastmod>2023-11-17T17:15:35.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/effective-error-reporting-in-frappe-framework-and-erpnext-development</loc>
<lastmod>2023-08-08T21:50:21.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/pdf-printout-doesnt-show-header-in-frappe-erpnext</loc>
<lastmod>2023-08-08T18:39:33.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/setup-http-imeout-in-frappe</loc>
<lastmod>2023-07-25T14:47:16.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/simplifying-financial-management-automating-bank-reconciliation-in-erpnext</loc>
<lastmod>2023-05-13T08:28:11.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/bank-reconciliation-in-erpnext</loc>
<lastmod>2023-02-27T20:46:31.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-set-up-promotional-schemes-free-items-in-erpnext</loc>
<lastmod>2022-12-07T11:27:07.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-create-a-purchase-invoice-in-erpnext</loc>
<lastmod>2022-12-07T11:17:44.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-installation-issue-error-there-was-a-problem-while-creating-karani</loc>
<lastmod>2022-11-14T06:10:22.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/custom-buttons-client-scripts-in-frappe-framework-and-erpnext</loc>
<lastmod>2022-11-06T08:39:18.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/using-frappe-erpnext-with-any-dbaas</loc>
<lastmod>2022-10-31T07:20:55.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/install-erpnext-version-14</loc>
<lastmod>2022-08-27T12:31:44.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/unknown-log-format-main-nginx</loc>
<lastmod>2022-08-03T05:40:54.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-modules</loc>
<lastmod>2022-07-14T04:02:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/custom-fields-to-existing-doctypes</loc>
<lastmod>2022-06-28T13:31:24.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/doctype-pos-offer-detail-not-found</loc>
<lastmod>2022-06-02T20:30:08.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/install-pos-awesome</loc>
<lastmod>2022-06-02T20:30:02.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-remotely-host-erpnext-database</loc>
<lastmod>2023-09-05T15:33:34.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/process-manufacturing-in-erpnext</loc>
<lastmod>2022-03-10T14:05:32.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-error-after-install-127-0-0-1-does-not-exist</loc>
<lastmod>2023-09-22T21:02:09.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-automated-installation-script</loc>
<lastmod>2022-04-15T12:56:33.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/multi-company-setup-in-erpnext-frappe</loc>
<lastmod>2022-02-03T21:32:27.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/assigning-a-value-to-a-child-table-field-in-frappe-or-erpnext</loc>
<lastmod>2022-01-15T19:26:21.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-managing-frappe-erpnext-custom-code-via-github</loc>
<lastmod>2021-12-25T21:19:33.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/what-is-coding</loc>
<lastmod>2021-12-22T18:40:18.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/creating-a-custom-app-in-frappe-erpnext-and-installing-it-on-your-instance</loc>
<lastmod>2021-12-20T10:34:39.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-override-a-method-in-frappe-or-erpnext</loc>
<lastmod>2021-11-23T09:42:13.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/erpnext-frappe-filter-and-auto-populate-child-table</loc>
<lastmod>2021-11-18T21:31:04.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/frappe-erpnext-assets-not-loading-properly</loc>
<lastmod>2021-11-08T18:40:23.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/will-tech-giants-kill-startups-in-africa</loc>
<lastmod>2021-10-25T20:38:46.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-avoid-burnout-as-a-software-developer</loc>
<lastmod>2021-10-23T12:00:04.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/setup-erpnext-for-production</loc>
<lastmod>2021-10-23T11:56:52.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/switch-from-developer-to-official-release-branch-for-frappe-and-erpnext</loc>
<lastmod>2021-10-23T11:56:57.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/installing-ssl-certificate-on-your-erpnext-instance</loc>
<lastmod>2021-10-23T11:57:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/fixtures-and-custom-fields-in-and-frappe-erpnext</loc>
<lastmod>2021-10-23T11:57:03.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/setting-up-multi-tenancy-in-erpnext</loc>
<lastmod>2021-10-23T11:57:06.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/why-erpnext-is-the-best-option-for-your-business</loc>
<lastmod>2021-10-23T11:57:10.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-authenticate-and-login-to-erpnext-with-an-api</loc>
<lastmod>2021-10-23T11:57:13.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-install-erpnext-in-ubuntu-20-04-step-by-step-guide</loc>
<lastmod>2022-06-17T14:05:43.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/sending-data-from-other-applications-to-erpnext-with-webhooks</loc>
<lastmod>2021-07-19T14:04:28.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/sending-data-from-erpnext-to-other-applications-with-webhooks</loc>
<lastmod>2021-07-16T17:50:52.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/cron-jobs-in-linux-understanding-task-scheduling</loc>
<lastmod>2021-07-08T11:31:28.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/automating-actions-with-hooks-controller-methods-in-erpnext-frappe</loc>
<lastmod>2021-06-02T10:43:52.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/making-api-calls-in-erpnext</loc>
<lastmod>2021-05-28T16:07:07.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.codewithkarani.com/blog/how-to-install-mariadb-10-5-on-ubuntu-20-04</loc>
<lastmod>2021-05-28T15:47:46.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
