Wallet Balance
$18,485.90
**** **** **** 8820
SUMUKH YR
12/28
Transactions
Stripe API Payout
2m ago
+$1,240.00
AWS Cloud Infrastructure
1h ago
-$42.00
Fint
Fint redefines wealth management by consolidating complex asset categories—ranging from domestic equities to decentralized tokens—into one unified, low-latency client engine. By leveraging Dart isolates and write-through caching, the application handles complex multi-stream market rates without locking the main thread.
The Problem
Wealth management tracking across traditional equities and volatile crypto markets usually suffers from high synchronization latency, stale offline states, and heavy main-thread computations.
Product Thinking
Users expect instantaneous wealth balance updates. To build real user trust, offline availability is a hard product requirement rather than a tech feature. The UX must show write-optimistic states, rendering trade completions before server confirmations.
Engineering Challenges
Handling real-time web socket tickers on 100+ assets simultaneously without dropping UI frames below 60 FPS, while keeping offline local caches safe from race conditions.
Key Learnings
Learned the limits of standard object storage and the extreme value of Dart isolates for background parsing, alongside selective widget rebuild IDs in GetX.
Architectural & Code Decisions
Deep technical breakdowns of individual structural choices and implementation patterns.
Hive Local Ledger Integration
Replaced SQLite with Hive for local caches due to its incredibly fast direct-to-binary key-value reader, which runs directly in memory, achieving read operations in single-digit microseconds.
// Initialize Encrypted Hive ledger
await Hive.initFlutter();
Hive.registerAdapter(TransactionAdapter());
var ledgerBox = await Hive.openBox<Transaction>('fint_ledger');
// Optimistic local transaction insertion
Future<void> logOptimisticTransaction(Transaction tx) async {
await ledgerBox.put(tx.id, tx);
update(['wallet_balance_view']); // Trigger selective GetX refresh
}Isolate-Driven JSON Parsing
Offloaded real-time websocket packet parsing to a dedicated Dart Isolate thread to prevent main-thread garbage collection (GC) sweeps from causing micro-stutters during high market volatility.
// Spawn isolate for JSON parsing
Future<Map<String, dynamic>> parseJsonInIsolate(String rawJson) async {
return await compute(_jsonParserExecutor, rawJson);
}
static Map<String, dynamic> _jsonParserExecutor(String raw) {
return jsonDecode(raw) as Map<String, dynamic>;
}