<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Maryan Mats</title><description>Creative Engineer &amp; TypeScript Devotee. I craft web interfaces with obsessive attention to detail and write about what I learn.</description><link>https://maryanmats.com/</link><item><title>Render Props Are Not Dead — React Hooks Didn&apos;t Replace What Actually Matters</title><link>https://maryanmats.com/blog/render-props-are-not-dead/</link><guid isPermaLink="true">https://maryanmats.com/blog/render-props-are-not-dead/</guid><description>Hooks replaced render props for logic sharing — but not for rendering control, inversion of control, or component architecture. Here&apos;s why I still use render props in 2026, with real patterns from Headless UI, Downshift, and Base UI.</description><pubDate>Wed, 08 Apr 2026 10:00:00 GMT</pubDate><category>react</category><category>typescript</category><category>render-props</category><category>hooks</category><category>component-architecture</category><category>web-development</category><author>Maryan Mats</author></item><item><title>Why I Stopped Using Enums in TypeScript (I Use `as const` Instead)</title><link>https://maryanmats.com/blog/why-i-stopped-using-enums-in-typescript/</link><guid isPermaLink="true">https://maryanmats.com/blog/why-i-stopped-using-enums-in-typescript/</guid><description>TypeScript enums compile into surprising JavaScript — IIFEs, reverse mappings, and tree-shaking problems. Here&apos;s why I switched to as const objects and union types, with real code examples and migration patterns.</description><pubDate>Tue, 07 Apr 2026 10:00:00 GMT</pubDate><category>typescript</category><category>javascript</category><category>web-development</category><category>enums</category><category>as-const</category><category>best-practices</category><author>Maryan Mats</author></item><item><title>You Don&apos;t Need Zustand: useSyncExternalStore Is All You Need</title><link>https://maryanmats.com/blog/you-dont-need-zustand/</link><guid isPermaLink="true">https://maryanmats.com/blog/you-dont-need-zustand/</guid><description>Build a type-safe React store in 30 lines using useSyncExternalStore — the hidden hook behind Zustand, Redux, and Jotai.</description><pubDate>Mon, 06 Apr 2026 10:00:00 GMT</pubDate><category>react</category><category>typescript</category><category>javascript</category><category>web-development</category><category>state-management</category><category>hooks</category><author>Maryan Mats</author></item><item><title>Why I Stopped Building My JavaScript Framework After 1,500 Lines of Spec</title><link>https://maryanmats.com/blog/why-i-stopped-building-my-javascript-framework/</link><guid isPermaLink="true">https://maryanmats.com/blog/why-i-stopped-building-my-javascript-framework/</guid><description>I spent months designing a web framework with a 1,500-line specification, elegant compiler transforms, and a genuine shot at improving frontend development. Then I did the math. Here&apos;s what killing your darling teaches you about software engineering.</description><pubDate>Sat, 04 Apr 2026 14:00:00 GMT</pubDate><category>javascript</category><category>react</category><category>compiler</category><category>signals</category><category>typescript</category><category>web-development</category><author>Maryan Mats</author></item><item><title>I Built a Reactive Compiler for JavaScript — Here&apos;s Where It Broke</title><link>https://maryanmats.com/blog/building-a-reactive-compiler-for-javascript/</link><guid isPermaLink="true">https://maryanmats.com/blog/building-a-reactive-compiler-for-javascript/</guid><description>When should a reactive variable behave like an object and when like a value? This question led me through compiler theory, TypeScript hacks, hydration nightmares, and the realization that specification-by-example always has gaps.</description><pubDate>Sat, 04 Apr 2026 12:00:00 GMT</pubDate><category>javascript</category><category>compiler</category><category>signals</category><category>typescript</category><category>react</category><category>web-development</category><author>Maryan Mats</author></item><item><title>I Designed a Web Framework That Replaces React Hooks With Two Imports</title><link>https://maryanmats.com/blog/designed-a-web-framework-with-two-imports/</link><guid isPermaLink="true">https://maryanmats.com/blog/designed-a-web-framework-with-two-imports/</guid><description>I spent months designing a web framework that combines signals, compilation, and islands into two imports. Here&apos;s the vision, the technical rabbit hole, and what I learned about the gap between elegant ideas and shipping software.</description><pubDate>Sat, 04 Apr 2026 10:00:00 GMT</pubDate><category>javascript</category><category>react</category><category>compiler</category><category>signals</category><category>typescript</category><category>web-development</category><author>Maryan Mats</author></item></channel></rss>