Teknologi

Si Presto!: Dari Catatan Manual ke Arsitektur Offline-First dengan Flutter

Ringkasan

  • Studi kasus Si Presto! mengungkap bagaimana arsitektur offline-first dengan Flutter, Isar Database, dan Clean Architecture memecahkan pengelolaan pinjaman informal di lingkungan konektivitas terbatas, sambil menerapkan monetisasi hybrid yang berkelanjutan.

Pengembangan aplikasi mobile sering kali bermula dari frustrasi terhadap solusi yang ada. Alejandro, seorang pengembang senior, memulai proyek Si Presto! setelah menyaksikan kerumitan pengelolaan pinjaman informal oleh kerabatnya yang masih mengandalkan buku catatan fisik dan spreadsheet Excel. Masalah klasik seperti keterlambatan penagihan, kesulitan menghitung angsuran parsial dengan bunga, serta waktu yang terbuang untuk membuat laporan manual via WhatsApp menjadi latar belakang lahirnya aplikasi ini. Berbeda dengan banyak proyek yang memaksakan teknologi cloud-first, Si Presto! dirancang dengan filosofi offline-first sejak hari pertama — keputusan arsitektur yang krusial bagi pasar seperti Venezuela dan Indonesia di mana konektivitas internet tidak selalu stabil.

Arsitektur Clean Architecture dengan pendekatan monorepo menjadi fondasi teknis aplikasi ini. Kode dibagi ke dalam empat lapisan terpisah: core untuk tema dan utilitas, domain untuk entitas bisnis immutable menggunakan Freezed, data untuk implementasi repository dengan Isar Database dan Firebase Auth, serta presentation untuk state management Riverpod dan UI. Pemisahan ketat ini memastikan logika bisnis tidak tercemar detail implementasi database atau framework UI, memudahkan pengujian unit dan migrasi teknologi di masa depan. Penggunaan build_runner untuk code generation mengotomatisasi boilerplate, mengurangi kesalahan manual dan mempercepat siklus pengembangan.

Tantangan teknis terbesar terletak pada sinkronisasi data offline-first di lingkungan konektivitas intermiten. Isar Database dipilih sebagai penyimpanan NoSQL lokal berkinerja tinggi yang mendukung operasi CRUD sinkron di thread utama tanpa memblokir UI. Semua transaksi — penambahan debitur, pencatatan angsuran, perhitungan bunga — dieksekusi lokal terlebih dahulu. Layanan sinkronisasi background hanya mengirimkan perubahan ke Cloud Firestore ketika perangkat online dan pengguna berlangganan premium. Pendekatan ini menghindari konflik data duplikat dan memastikan konsistensi tanpa bergantung pada koneksi real-time, pola yang sangat relevan untuk aplikasi keuangan di wilayah pedalaman Indonesia.

Generasi PDF dinamis di perangkat low-end menimbulkan risiko Out of Memory (OOM) crash. Solusinya, Alejandro merancang engine rendering transaksional yang memproses koleksi transaksi immutable secara chunking — memecah data besar menjadi blok-blok kecil yang diproses berurutan di memori cache. Paket pdf dan printing native Flutter digunakan tanpa dependensi server, memungkinkan pembuatan laporan keuangan detail yang bisa dibagikan instan via WhatsApp. Teknik ini menggeser beban komputasi ke sisi klien, mengurangi biaya infrastruktur server hingga mendekati nol untuk tier gratis.

Model monetisasi hybrid menggabungkan AdMob untuk tier gratis dan RevenueCat untuk premium. Tier gratis dibatasi logis di lapisan repository: maksimal tiga debitur dan empat angsuran per pinjaman, didanai banner iklan non-intrusif. Tier premium menghapus iklan, membuka batasan unlimited, mengaktifkan ekspor PDF, dan backup cloud Firestore. RevenueCat SDK menangani kompleksitas pembelian in-app cross-platform (Play Store dan App Store) dengan validasi receipt server-side, memastikan keamanan transaksi tanpa backend custom. Pendekatan freemium ini seimbang antara keberlanjutan bisnis dan pengalaman pengguna — pelajaran penting bagi startup Indonesia yang sering terjebak antara terlalu agresif monetisasi atau terlalu murah hati.

Sistem notifikasi lokal otonom menggantikan ketergantungan push notification server. Menggunakan flutter_local_notifications, aplikasi menjadwalkan pengingat penagihan berdasarkan tanggal jatuh tempo entitas domain secara lokal. Artinya, pengingat tetap berbunyi meski perangkat dalam mode pesawat atau tanpa kuota data. Desain keputusan ini mencerminkan pemahaman mendalam tentang perilaku pengguna target: penagih yang bergerak di lapangan, sering di area sinyal lemah, dan butuh keandalan absolut tanpa biaya data tambahan.

Identitas visual neobrutalisme gelap dengan aksen hijau neon (#00FF99) menciptakan diferensiasi tajam dari aplikasi perbankan konvensional yang cenderung flat dan konservatif. Kartu ringkasan keuangan menggunakan border tebal dan solid shadow offset, menciptakan kedalaman visual tanpa gradien atau blur mahal secara komputasi. Pilihan estetika ini bukan sekadar gaya — kontras tinggi memperbaiki aksesibilitas di cahaya matahari terik, situasi umum bagi penagih keliling. Desain fungsional yang mengutamakan kegunaan di lapangan daripada keindahan di showroom.

Kasus Si Presto! mengajarkan bahwa arsitektur senior tidak diukur dari jumlah layanan cloud yang digunakan, melainkan dari keberanian mendelegasikan komputasi ke sisi klien. Dengan Isar untuk data, rendering PDF native, dan notifikasi lokal, biaya infrastruktur ditekan minimal. Bagi ekosistem teknologi Indonesia, ini adalah bukti nyata bahwa aplikasi skala produksi dengan monetisasi nyata bisa dibangun oleh tim kecil (bahkan solo developer) menggunakan Flutter, tanpa budget server besar. Pola offline-first, chunked processing, dan freemium berbasis repository adalah blueprint yang bisa diadaptasi untuk berbagai vertikal: POS offline untuk UMKM, aplikasi survei lapangan, atau sistem inventaris gudang di area tanpa WiFi.

Mengapa Ini Penting

Si Presto! membuktikan bahwa arsitektur offline-first bukan sekadar buzzword tapi kebutuhan nyata di pasar emerging market seperti Indonesia di mana konektivitas tidak merata. Pendekatan chunked processing untuk PDF dan notifikasi lokal otonom menurunkan biaya operasional drastis — model yang sangat relevan bagi startup Indonesia dengan runway terbatas. Studi kasus ini juga menunjukkan Clean Architecture dan monorepo mobile bukan over-engineering untuk proyek solo, tapi investasi yang membayar mahar saat skala berkembang.

Sumber Asli
dev.to
Tanggal
12 Juli 2026
Waktu Baca
5 menit