<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Rio Espinosa — Blog</title>
    <link>https://programmingrio.top/</link>
    <description>Notes on builds, technology, and AI by Rio Espinosa.</description>
    <language>en</language>
    <item>
      <title>Why I built Guise: a $0 antidetect workspace for scraping and automation</title>
      <link>https://programmingrio.top/blog/why-i-built-guise/</link>
      <guid isPermaLink="true">https://programmingrio.top/blog/why-i-built-guise/</guid>
      <description>GoLogin was too expensive and felt old. So I built Guise — a local-first profile manager with isolated browsers, stable fingerprints, dedicated proxies, and human-like replay. Total infra cost: $0.</description>
      <category>automation</category>
      <category>scraping</category>
      <category>antidetect</category>
      <category>tauri</category>
      <category>nextjs</category>
      <pubDate>Sat, 24 Oct 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title>I turned a drawer phone into the dashboard I refused to buy and it&apos;s free.</title>
      <link>https://programmingrio.top/blog/dashboard-from-a-drawer-phone/</link>
      <guid isPermaLink="true">https://programmingrio.top/blog/dashboard-from-a-drawer-phone/</guid>
      <description>A 2020 Galaxy S10e, 400 lines of Node with zero dependencies, and no cloud: a $0 LAN dashboard for OpenCode spend, tasks, and countdowns.</description>
      <category>android</category>
      <category>jetpack-compose</category>
      <category>node</category>
      <category>diy</category>
      <category>dashboard</category>
      <pubDate>Tue, 20 Oct 2026 12:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
