<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pedro Massango — Articles</title>
    <link>https://pedromassango.com/articles/</link>
    <atom:link href="https://pedromassango.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Thoughts on software engineering, productivity, and building things.</description>
    <language>en-us</language>
    <lastBuildDate>Sat, 30 May 2026 19:22:51 GMT</lastBuildDate>
    <item>
      <title>How I built a personal expense and budget tracker with Flutter and Gemini</title>
      <link>https://pedromassango.com/articles/how-i-built-a-personal-expense-budget-tracker-with-flutter-and-gemini/</link>
      <guid isPermaLink="true">https://pedromassango.com/articles/how-i-built-a-personal-expense-budget-tracker-with-flutter-and-gemini/</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <description>A technical walkthrough of how I built Peggy with Flutter, Supabase, and Gemini patterns: secure AI parsing, cache-first UX, and reliable money modeling.</description>
    </item>
    <item>
      <title>Four lessons from shipping the Leben in Deutschland Test app</title>
      <link>https://pedromassango.com/articles/lessons-from-shipping-leben-in-deutschland/</link>
      <guid isPermaLink="true">https://pedromassango.com/articles/lessons-from-shipping-leben-in-deutschland/</guid>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <description>What I wish I had known before releasing the first version of my German naturalization test study app: analytics, crash reporting, onboarding, and ads.</description>
    </item>
  </channel>
</rss>
