<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kaleem Sajid — Blog</title><description>Full-stack developer and tech lead with 12 years shipping web platforms for enterprise brands and long-term freelance clients. Development, maintenance, and technical leadership.</description><link>https://kaleemsajid.com/</link><item><title>Designing idempotent webhooks that never double-charge</title><link>https://kaleemsajid.com/blog/idempotent-webhooks/</link><guid isPermaLink="true">https://kaleemsajid.com/blog/idempotent-webhooks/</guid><description>Webhooks get retried, replayed, and delivered out of order. Here is the small set of patterns I lean on to make handlers safe under all three.</description><pubDate>Tue, 12 Nov 2024 00:00:00 GMT</pubDate><category>architecture</category><category>payments</category><category>reliability</category></item><item><title>How I communicate with non-technical clients</title><link>https://kaleemsajid.com/blog/communicating-with-non-technical-clients/</link><guid isPermaLink="true">https://kaleemsajid.com/blog/communicating-with-non-technical-clients/</guid><description>The biggest risk on most freelance projects is not technical — it is a misaligned expectation. Here is the lightweight system I use to stay aligned.</description><pubDate>Sat, 03 Aug 2024 00:00:00 GMT</pubDate><category>freelance</category><category>communication</category><category>process</category></item></channel></rss>