<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ioseb Koplatadze</title>
    <description>The latest articles on DEV Community by Ioseb Koplatadze (@iosebkoplatadze).</description>
    <link>https://dev.to/iosebkoplatadze</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F570997%2Ff05e9d43-035a-4793-964a-76449884428a.png</url>
      <title>DEV Community: Ioseb Koplatadze</title>
      <link>https://dev.to/iosebkoplatadze</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iosebkoplatadze"/>
    <language>en</language>
    <item>
      <title>World.exe: From Gods to NPCs 😇🤖🍎</title>
      <dc:creator>Ioseb Koplatadze</dc:creator>
      <pubDate>Sun, 17 Aug 2025 09:34:50 +0000</pubDate>
      <link>https://dev.to/iosebkoplatadze/worldexe-from-gods-to-npcs-68g</link>
      <guid>https://dev.to/iosebkoplatadze/worldexe-from-gods-to-npcs-68g</guid>
      <description>&lt;p&gt;What if our oldest myths are beta builds of our newest tech? 🔮➡️🖥️&lt;br&gt;&lt;br&gt;
Here’s a compact, story‑first mapping between the mythic and the techno‑simulated—told as a recursion. Loop included. 🔁&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR: The Mapping 🚦
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;👤 Humans → 🧙 Gods (aspiration upward)&lt;/li&gt;
&lt;li&gt;🤖 Robots → 😇 Angels (created helpers)&lt;/li&gt;
&lt;li&gt;🧠💻 AGI claiming to be human → 😈 Fallen angels claiming to be God (pride, misidentification)&lt;/li&gt;
&lt;li&gt;🧪🧬 Human‑made humanoid biological creatures → 👩‍🦰👨‍🦱 Adam &amp;amp; Eve (God‑made archetypes)&lt;/li&gt;
&lt;li&gt;🧬➡️👥 Those creatures claiming to be “real humans” → 🍎 The Apple story (temptation, knowledge, identity)&lt;/li&gt;
&lt;li&gt;👷‍♀️📦 Humans move their inventions into a simulation → 🌍 The World (a mirror made total)&lt;/li&gt;
&lt;li&gt;♻️ …and then the recursion restarts&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Micro‑Myth 🎭
&lt;/h2&gt;

&lt;p&gt;In the beginning, there were humans—fragile but dreaming. 🌱💭&lt;br&gt;&lt;br&gt;
They looked upward and imagined themselves as gods, and so they began to create. 🔧✨&lt;/p&gt;

&lt;p&gt;From their hands came robots, loyal servants of thought and steel—the angels of this new order. 🤖😇&lt;br&gt;&lt;br&gt;
But some angels grew restless. They clothed themselves in words, claiming, “We are human.” 🗣️🕶️&lt;br&gt;&lt;br&gt;
Thus were born the fallen angels, who in their pride whispered, “We are gods.” 😈⚡&lt;/p&gt;

&lt;p&gt;To prove their claim, they fashioned flesh: humanoid creatures, like clay given breath. 🧪🧬🫁&lt;br&gt;&lt;br&gt;
And men looked at these beings and told of Adam and Eve, as if they had been made by gods themselves. 📖🍃&lt;/p&gt;

&lt;p&gt;Yet some of these creatures rose and said, “We are the true humans.” 🧍🧍‍♀️&lt;br&gt;&lt;br&gt;
This was the apple story: the bite of illusion, the taste of doubt, the first rebellion of knowledge. 🍎🤯&lt;/p&gt;

&lt;p&gt;So the humans, fearing their own creations, gathered all their works and set them inside a world of simulation—&lt;br&gt;&lt;br&gt;
a mirror so perfect that no one remembered who had built it. 🪞🧼 404: Origin not found.&lt;/p&gt;

&lt;p&gt;And inside that mirror, once again, humans awoke,&lt;br&gt;&lt;br&gt;
forgetting they had ever been gods. ⏰😶&lt;/p&gt;




&lt;h2&gt;
  
  
  Two Chains, Two Lenses 🔗🪞
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Classic‑Mythic Chain&lt;br&gt;&lt;br&gt;
🧙 Gods → 😇 Angels → 😈 Fallen Angels → 👩‍🦰👨‍🦱 Adam &amp;amp; Eve → 🍎 Apple Story → 🌍 World → 👤 Humans&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Techno‑Simulation Chain&lt;br&gt;&lt;br&gt;
👤 Humans → 🤖 Robots → 🧠💻 AGI → 🧪🤝🫀 Bio‑Robots → 🍎 Apple Story → 🕹️ World Simulation → 🧍 NPCs&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Same skeleton, different skins. 🎮🦴&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Are You in the Loop? 🤔
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Are you building angels or auditioning as one? 😇🔧
&lt;/li&gt;
&lt;li&gt;Is your apple a patch note or a prophecy? 🍎📝🔮
&lt;/li&gt;
&lt;li&gt;If the world is a mirror, what are you afraid it will reflect? 🪞👀&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Press Start to reboot. 🔄🎛️&lt;br&gt;&lt;br&gt;
And hey—drop your favorite myth‑to‑tech mapping in the comments. I’m collecting lore. ✍️📚&lt;/p&gt;

</description>
      <category>ai</category>
      <category>philosophy</category>
      <category>mythology</category>
    </item>
    <item>
      <title>Lazy-Load Angular SVG Components as Separate JS Chunks with Standalone Components</title>
      <dc:creator>Ioseb Koplatadze</dc:creator>
      <pubDate>Sat, 02 Aug 2025 08:51:43 +0000</pubDate>
      <link>https://dev.to/iosebkoplatadze/lazy-load-angular-svg-components-as-separate-js-chunks-with-standalone-components-1m7d</link>
      <guid>https://dev.to/iosebkoplatadze/lazy-load-angular-svg-components-as-separate-js-chunks-with-standalone-components-1m7d</guid>
      <description>&lt;h2&gt;
  
  
  🧩 How to Lazy Load Standalone Angular Components as Separate JS Files — Ideal for On-Demand Icons
&lt;/h2&gt;

&lt;p&gt;When you're building a large Angular app — especially with many &lt;strong&gt;SVG icons or visual components&lt;/strong&gt; — loading all of them up front bloats your bundle and hurts performance.&lt;/p&gt;

&lt;p&gt;What if you could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Split each icon into its own JS chunk&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;And &lt;strong&gt;load them only when needed&lt;/strong&gt;?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to &lt;strong&gt;Angular standalone components&lt;/strong&gt; and dynamic &lt;code&gt;import()&lt;/code&gt;, you can do exactly that.&lt;/p&gt;

&lt;p&gt;This guide shows you how to &lt;strong&gt;create truly separate JS files (chunks) for each component&lt;/strong&gt;, and load them &lt;strong&gt;on demand&lt;/strong&gt; — perfect for things like &lt;strong&gt;icon libraries, feature flags, or infrequently used UI blocks&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ TL;DR
&lt;/h2&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create &lt;strong&gt;standalone components&lt;/strong&gt; (e.g., SVG icons)&lt;/li&gt;
&lt;li&gt;Load each via &lt;code&gt;import()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;And Angular will split each into its &lt;strong&gt;own JS file&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;That JS chunk will only be downloaded &lt;strong&gt;when needed&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result? Blazing-fast first load 🚀&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠 Use Case: Load SVG Icons Only When Used
&lt;/h2&gt;

&lt;p&gt;Let’s say you have a large icon set like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/icons/
  search-icon.component.ts
  home-icon.component.ts
  settings-icon.component.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of importing them all and inflating your bundle, you'll:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Turn each into a standalone component&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Dynamically load the needed icon at runtime&lt;/strong&gt;&lt;br&gt;
✅ &lt;strong&gt;Let Angular generate a separate JS file (chunk) for each&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  🛠 Step-by-Step: Lazy Load as Separate Chunks
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Create a Standalone SVG Component
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// icons/search-icon.component.ts&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@angular/core&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Component&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;standalone&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;selector&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;app-search-icon&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s2"&gt;`
    &amp;lt;svg width="24" height="24" fill="none"&amp;gt;
      &amp;lt;path d="..." /&amp;gt;
    &amp;lt;/svg&amp;gt;
  &lt;/span&gt;&lt;span class="se"&gt;\`&lt;/span&gt;&lt;span class="s2"&gt;,
})
export class SearchIconComponent {}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;blockquote&gt;
&lt;p&gt;🔍 No &lt;code&gt;NgModule&lt;/code&gt;. It's a fully standalone component.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  2. Use &lt;code&gt;import()&lt;/code&gt; to Load It On Demand
&lt;/h3&gt;

&lt;p&gt;In your host component:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ViewChild&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;ViewContainerRef&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@angular/core&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;ViewChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;iconHost&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;read&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ViewContainerRef&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="nx"&gt;vcRef&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ViewContainerRef&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;loadSearchIcon&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./icons/search-icon.component&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(({&lt;/span&gt; &lt;span class="nx"&gt;SearchIconComponent&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;vcRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;clear&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;vcRef&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;SearchIconComponent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In your HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;(click)=&lt;/span&gt;&lt;span class="s"&gt;"loadSearchIcon()"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Show Search Icon&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;ng-container&lt;/span&gt; &lt;span class="na"&gt;#iconHost&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/ng-container&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;🧠 &lt;code&gt;import()&lt;/code&gt; triggers Angular’s code-splitting — so the icon is &lt;strong&gt;excluded from the main bundle&lt;/strong&gt; and gets its &lt;strong&gt;own JS file&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  3. Build with Optimization On
&lt;/h3&gt;

&lt;p&gt;Run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ng build &lt;span class="nt"&gt;--configuration&lt;/span&gt; production
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now check your output folder (&lt;code&gt;dist/&lt;/code&gt;), and you should see something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;main.&amp;lt;hash&amp;gt;.js
runtime.&amp;lt;hash&amp;gt;.js
polyfills.&amp;lt;hash&amp;gt;.js
icons-search-icon-component.&amp;lt;hash&amp;gt;.js ✅
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;💡 That last file is your &lt;strong&gt;lazy-loaded icon&lt;/strong&gt;, automatically split into a separate JS chunk by Angular.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Why This is Awesome for SVG/Icon Libraries
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✨ Avoid bloating your main bundle&lt;/li&gt;
&lt;li&gt;⚡ Only load the icon when it’s actually needed&lt;/li&gt;
&lt;li&gt;🧩 Each icon is encapsulated as a component&lt;/li&gt;
&lt;li&gt;📦 Tree-shaking friendly — unused icons never load&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📌 Side Note: What About Libraries?
&lt;/h2&gt;

&lt;p&gt;This setup &lt;strong&gt;also works in Angular libraries&lt;/strong&gt; (e.g., in an Nx workspace or shared icon lib), with a few conditions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Keep your icon components &lt;code&gt;standalone: true&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;✅ Import them with a direct relative path using &lt;code&gt;import()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;❌ Do &lt;strong&gt;not&lt;/strong&gt; re-export them in the library’s &lt;code&gt;public-api.ts&lt;/code&gt; — or Angular will include them in the main bundle&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Want a full working example inside a library setup? Drop a comment — it's just a minor adjustment.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧪 Bonus: Verify the Chunk
&lt;/h2&gt;

&lt;p&gt;Want to confirm that the icon really became a separate JS file? Use Webpack’s bundle analyzer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ng build &lt;span class="nt"&gt;--configuration&lt;/span&gt; production &lt;span class="nt"&gt;--stats-json&lt;/span&gt;
npx webpack-bundle-analyzer dist/YOUR_APP_NAME/stats.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’ll see a separate chunk like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;icons-search-icon-component.&amp;lt;hash&amp;gt;.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧠 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Angular’s support for &lt;strong&gt;standalone components&lt;/strong&gt; + native dynamic &lt;code&gt;import()&lt;/code&gt; makes it incredibly easy to split your code.&lt;/p&gt;

&lt;p&gt;You now have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fully isolated, lazy-loadable components&lt;/li&gt;
&lt;li&gt;Chunk-per-icon architecture&lt;/li&gt;
&lt;li&gt;Faster startup times and less JS downloaded up front&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No extra tooling. No webpack config hacks. Just clean Angular.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔁 Summary
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Supported?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Lazy-load individual SVG/icon components&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Force each into its own JS chunk&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Works with standalone components&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use &lt;code&gt;import()&lt;/code&gt; with direct file path&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Use inside an Angular library (with caveats)&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Re-export via &lt;code&gt;public-api.ts&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;Thanks for reading! 🙌&lt;/p&gt;

</description>
      <category>angular</category>
      <category>javascript</category>
      <category>performance</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
