<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Afifudin&apos;s Blog</title><description>Articles on software engineering, system design, frontend, backend, and lessons learned from building real-world applications.</description><link>https://afiiif.github.io/</link><language>en-us</language><lastBuildDate>Tue, 04 Aug 2026 00:00:00 GMT</lastBuildDate><item><title>Reimplementing Zustand with Built-in Async State</title><link>https://afiiif.github.io/blog/reimplementing-zustand-with-built-in-async-state/</link><guid isPermaLink="true">https://afiiif.github.io/blog/reimplementing-zustand-with-built-in-async-state/</guid><description>What started as an experiment to recreate Zustand eventually became a lightweight async state manager inspired by TanStack Query. Here&apos;s the engineering journey behind it.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>frontend</category><category>react</category></item><item><title>The Hidden Complexity of a Campaign System</title><link>https://afiiif.github.io/blog/hidden-complexity-of-campaign/</link><guid isPermaLink="true">https://afiiif.github.io/blog/hidden-complexity-of-campaign/</guid><description>An engineering case study on improving a production campaign system through observability, business rules, background jobs, reliability, and scalability.</description><pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate><category>backend</category></item><item><title>Understanding the Observer Pattern by Building One</title><link>https://afiiif.github.io/blog/understanding-the-observer-pattern-by-building-one/</link><guid isPermaLink="true">https://afiiif.github.io/blog/understanding-the-observer-pattern-by-building-one/</guid><description>Build the Observer Pattern from scratch in JavaScript. Learn subscriptions, state changes, and create a robust, reusable store step by step.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate><category>pattern</category><category>javascript</category></item><item><title>Misusing React Context, Then Blaming React Context</title><link>https://afiiif.github.io/blog/misusing-react-context-then-blaming-react-context/</link><guid isPermaLink="true">https://afiiif.github.io/blog/misusing-react-context-then-blaming-react-context/</guid><description>Stop blaming React Context for unnecessary re-renders. Discover how React composition affects rendering performance and how to build efficient Context providers.</description><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate><category>frontend</category><category>react</category></item></channel></rss>