SQLite Over WatermelonDB
WatermelonDB's sync protocol assumes a purpose-built pull/push backend. With Firestore as the sync target a custom push worker is required either way, so its main advantage evaporates, and the reconciliation engine is SQL-shaped (window queries over fueling entries, time-range aggregates over trips), which raw SQL keeps direct and testable.