TrustGuard
An offline-first Flutter financial ledger for tracking shared group expenses and settlement calculations.

Overview
TrustGuard is a Flutter app for tracking shared group expenses and settling who owes whom. Most apps in this space assume you're always connected and your data lives on a server. I wanted one that worked completely offline and treated the local device as the source of truth, because the most common use case - splitting bills with friends - happens in places with weak signal.
What it does
Users log shared expenses, assign them to group members, and the app continuously calculates the optimal settlement. When everyone agrees the trip or shared period is done, the app shows the minimum number of transfers needed to balance everyone out. There's no account creation, no cloud sync, no marketing. The local device holds everything.
Why offline-first
Going offline-first changed almost every architectural decision. Storage had to be local. Conflict resolution had to be deterministic without a server arbiter. Sync between group members happened through optional manual export/import rather than continuous connection. Each of those choices removed a class of bugs that connected apps deal with - and traded them for a different set of constraints I had to design around.
What I learned
Working offline-first taught me a lot about how much modern app development relies on always-on connectivity, often invisibly. Pulling that assumption away forced me to think differently about state, persistence, and trust. The app feels much simpler than connected alternatives, but the simplicity came from architectural discipline, not from the feature being smaller.