Gerald Gmainer
AboutRésuméProjectsBlogWoodworkingJapanContactde
de
Blog

Notes from the field

What I learn building apps and platforms – architecture, product decisions and the mistakes I don't make twice.

  1. 31 October 2026·10 min read

    Offline-first with Flutter and Supabase: an outbox, not spinners

    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.

    Flutter · Supabase · Offline-First

  2. 31 October 2026·11 min read

    A receipt scanner in Flutter: ML Kit, RKSV QR codes, no LLM

    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.

    Flutter · ML Kit · OCR

  3. 31 October 2026·8 min read

    Supabase RLS for multi-tenant apps: one header, two rules

    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.

    Supabase · PostgreSQL · Security

Gerald Gmainer

Product owner, UX designer and full-stack developer from Garsten near Steyr, Upper Austria. Flutter apps and web platforms from idea to release. Open to freelance projects.

  • GitHub
  • LinkedIn
  • gerald.gmainer@gmail.com
Navigation
  • About
  • Résumé
  • Projects
  • Freelance
  • Blog
  • Woodworking
  • Japan
  • Contact
Legal
  • Legal notice
  • Privacy policy

© 2026 Gerald Gmainer