# Coding Standards Technical standards for the **Nav** (Sailing Companion) project. ## 1. Android (Kotlin) - **Build Target: Android 16 (API 36).** All fixes and feature work must be correct for API 36. Do not add workarounds or intent-filters targeting older Android versions. - **Architecture:** MVVM with ViewBinding/DataBinding. - **UI:** Glanceable, high-contrast, cockpit-friendly design. - **Persistence:** Room for local database; offline-first approach. - **Async:** Kotlin Coroutines for non-blocking UI. - **Track Storage:** GPX files go to `Documents/Nav/` via MediaStore (API 29+). They must survive app uninstall — `getExternalFilesDir()` is never acceptable. ## 2. Boating Domain - **Safety First:** MOB and Anchor Alarm features are critical. - **Offline Utility:** Must work without internet connectivity (using cached charts/GRIBs). - **Integration:** Standard NMEA interface for instrument data.