<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Articles by João Angello</title>
    <link>https://joaoangello.dev/en/articles/</link>
    <atom:link href="https://joaoangello.dev/en/rss.xml" rel="self" type="application/rss+xml" />
    <description>Articles by João Angello on software engineering, architecture, performance and AI products.</description>
    <language>en</language>
    <item>
      <title>How I built this portfolio: 42,000 points and no server</title>
      <link>https://joaoangello.dev/en/articles/how-i-built-this-portfolio/</link>
      <guid isPermaLink="true">https://joaoangello.dev/en/articles/how-i-built-this-portfolio/</guid>
      <pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate>
      <description>Static Astro, plain three.js and a custom shader: the decisions behind this site’s point cloud, performance and security.</description>
      <category>three.js</category>
      <category>Astro</category>
      <category>WebGL</category>
      <category>Performance</category>
      <category>Security</category>
    </item>
  </channel>
</rss>
