TopUpIn
Cross-platform PPOB & game voucher recharge app.
The System Bottleneck & Problem Statement
Gamers and mobile users frequently endure clunky PPOB apps riddled with banner ads, slow wallet top-ups, and failed transactions that take days to refund.
Architected Solution & Execution Mechanics
Built TopUpIn with Flutter 3: an ad-free, blazing-fast mobile recharge client featuring instant server-side inventory verification, dynamic QRIS generation, and real-time transaction receipt tracking.
Flutter Mobile App
Declarative, compiled client maintaining smooth 60fps UI on iOS and Android.
Key Engineering Responsibilities
Constructed reactive state management architecture with Riverpod 2 and asynchronous value notifiers.
Integrated Midtrans dynamic QRIS generation with polling status listeners.
Engineered offline transaction caching and optimistic UI updates for instant perceived performance.
Designed dark-mode-first aesthetic with custom SVG gaming iconography.
Non-Trivial Trade-Offs & Decisions
Handling Mobile Connection Drops During QRIS Payment Verification
System Friction: Users often paid via mobile banking app and returned to TopUpIn only to find their cellular connection had briefly dropped, risking unconfirmed orders.
Architectural Decision: Implemented background background reconciliation: the order status is checked via idempotent polling on both client resumption and server-side webhook receipt.
Measured Outcome: Zero reported lost transactions or unconfirmed vouchers across all test users.