<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gerald Gmainer – Blog</title>
    <link>https://www.geraldgmainer.com/en/blog</link>
    <description>Flutter, offline-first, Supabase and product ownership – from real projects.</description>
    <language>en</language>
    <lastBuildDate>Sat, 31 Oct 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://www.geraldgmainer.com/en/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Offline-first with Flutter and Supabase: an outbox, not spinners</title>
      <link>https://www.geraldgmainer.com/en/blog/offline-first-flutter-supabase</link>
      <guid isPermaLink="true">https://www.geraldgmainer.com/en/blog/offline-first-flutter-supabase</guid>
      <description>How MoneyKoi works offline-first with Flutter and Supabase: SQLite as the source of truth, an outbox with retries and a single delta sync back from the server.</description>
      <pubDate>Sat, 31 Oct 2026 00:00:00 GMT</pubDate>
      <category>Flutter</category>
      <category>Supabase</category>
      <category>Offline-First</category>
    </item>
    <item>
      <title>A receipt scanner in Flutter: ML Kit, RKSV QR codes, no LLM</title>
      <link>https://www.geraldgmainer.com/en/blog/receipt-scanner-flutter-ml-kit</link>
      <guid isPermaLink="true">https://www.geraldgmainer.com/en/blog/receipt-scanner-flutter-ml-kit</guid>
      <description>How MoneyKoi's receipt scanner in Flutter reads Austrian RKSV QR codes, extracts line items with ML Kit and per-shop parsers, and checks the total on the phone.</description>
      <pubDate>Sat, 31 Oct 2026 00:00:00 GMT</pubDate>
      <category>Flutter</category>
      <category>ML Kit</category>
      <category>OCR</category>
    </item>
    <item>
      <title>Supabase RLS for multi-tenant apps: one header, two rules</title>
      <link>https://www.geraldgmainer.com/en/blog/supabase-rls-multi-tenant</link>
      <guid isPermaLink="true">https://www.geraldgmainer.com/en/blog/supabase-rls-multi-tenant</guid>
      <description>Supabase RLS for multi-tenant apps: how MoneyKoi checks the active tenant with a header and a pre-request hook, and secures reads and writes differently.</description>
      <pubDate>Sat, 31 Oct 2026 00:00:00 GMT</pubDate>
      <category>Supabase</category>
      <category>PostgreSQL</category>
      <category>Security</category>
    </item>
  </channel>
</rss>