Masalah dengan Cloud-First
Mayoritas software modern bergantung penuh pada koneksi internet. Di Indonesia, ini masalah nyata: koneksi tidak stabil, latency tinggi, dan kadang mati total.
Prinsip Local-First
Local-first berarti:
- Data disimpan lokal — SQLite di device, bukan remote DB
- Operasi offline — semua fitur berjalan tanpa internet
- Sync opsional — cloud adalah backup, bukan sumber kebenaran
Implementasi di BirruHealthOS
// Local SQLite sebagai primary store
const db = new Database('./local.db');
// Sync queue — dikirim ke cloud saat online
const syncQueue = new Queue('sync', {
connection: redisClient,
defaultJobOptions: { attempts: 5 },
});Trade-off
| Aspek | Local-First | Cloud-First |
|---|---|---|
| Kecepatan | ⚡ Instant (0ms) | 🐢 Tergantung jaringan |
| Offline | ✅ Penuh | ❌ Tidak bisa |
| Sync Conflict | Butuh resolver | Tidak ada |
Untuk software operasional yang dipakai di lapangan, local-first bukan sekadar pilihan gaya — ini adalah keharusan fungsional.