Blog

Field Notes

Event-driven architecture, money correctness, security, and everything else that only shows up once real users' money is on the line. Written from 3+ years building fintech apps in Flutter.


Money CorrectnessSep 10, 2024 · 4 min read

Why double Will Break Your Fintech App (and How We Handle Money in Dart)

Floating-point money bugs aren't exotic edge cases — they're a predictable consequence of how double works, and they show up in almost every fintech codebase at least once. Here's the pattern that prevents them permanently.

Offline & ResilienceSep 6, 2024 · 2 min read

A Queue That Tags Every Offline Action With a Client-Generated Idempotency Key

An offline action queue that retries blindly will eventually double-submit a transfer. The fix isn't smarter retry logic — it's making every queued action safe to replay.

Event-Driven & Real-TimeSep 3, 2024 · 8 min read

Event-Driven Architecture in Flutter: Real-Time Balance Updates Without Polling

Why polling a balance endpoint every few seconds is the wrong default for a financial app, and the event-driven pattern that replaces it — including the sequence-gap recovery logic most tutorials skip.

Security & ComplianceAug 30, 2024 · 2 min read

A One-File Wrapper Around flutter_secure_storage That Fails Closed, Not Open

When secure storage throws — a Keystore invalidated by a fingerprint change, a Keychain error after a restore — most apps quietly fall back to a default. That default should never be 'logged in.'

Regulation WatchAug 27, 2024 · 3 min read

RBI Names FACE as Fintech's First Self-Regulatory Body: What It Means for App Teams

In August 2024, the RBI granted self-regulatory-organisation status to FACE. It's an industry-body announcement, not a direct app requirement — but it usually ends up in your onboarding and grievance flows anyway.

Money CorrectnessAug 23, 2024 · 2 min read

A Money Extension Type That Makes 0.1 + 0.2 == 0.3 Fail Loudly, Not Silently

Dart's extension types turn a money precision bug from a runtime surprise into a compile error, at zero runtime cost. Here's the pattern.

Release WatchAug 20, 2024 · 3 min read

Flutter 3.24: What's Actually Useful for a Fintech Team

Flutter 3.24 made Impeller the default renderer on Android. Here's what that actually changes for an app full of live charts and balance animations, and what to skip.

Event-Driven & Real-TimeAug 16, 2024 · 2 min read

A Five-Line StreamController Wrapper That Prevents 'Add After Close' Crashes

The guard we add to every StreamController in a Flutter fintech app, and why checking isClosed once at the top of a function isn't enough.

Archive

Earlier posts, originally published on Medium before the blog moved natively to uzg19.com.

Publication

UZG19 on Medium

medium.com/uzg19


New posts, twice a week.

Get an email when a new one drops. No spam, unsubscribe anytime.