# NaviDocs UI Strategy: Apple Ease-of-Use + Garmin Clarity + Weather Integration
**Created:** 2025-11-14
**Goal:** Unified design system across all 6 modules with weather integration
---
## Current Module Analysis
### 1. **Inventory Module** (Simple/Clean Design)
**Current Style:** Basic forms, category filters, modal overlays
**Strengths:** Simple, functional
**Weaknesses:** No visual hierarchy, plain table layouts, lacks glanceability
### 2. **Maintenance Module** (Most Polished)
**Current Style:** Glass morphism (`bg-white/5 backdrop-blur-lg`), gradient backgrounds (`from-slate-900 via-slate-800`), calendar view
**Strengths:** Modern aesthetics, dual view modes (calendar/list), visual feedback
**Weaknesses:** Still lacks Garmin-style clarity for critical information
### 3. **Camera Module** (Basic/Functional)
**Current Style:** Simple forms with RTSP inputs
**Strengths:** Clear input validation, escape key handling
**Weaknesses:** No thumbnail previews, lacks visual status indicators
### 4. **Contacts Module** (Dashboard-Style)
**Current Style:** Stats cards with color-coded types (Marina=blue, Mechanic=amber, Vendor=green), gradient backgrounds
**Strengths:** Dashboard overview, category breakdown, search functionality
**Weaknesses:** Cards could be more glanceable with larger typography
### 5. **Expense Module** (Most Complex)
**Current Style:** Glass effects, gradient headers (`from-blue-400 to-cyan-400`), multi-user approval workflow
**Strengths:** Sophisticated forms, OCR integration planned, approval states
**Weaknesses:** Complex UI could overwhelm users without progressive disclosure
### 6. **Weather Module** (NEW - To Be Built)
**Requirements:** Real-time weather data, marine-specific metrics, iframe integration from Windy/Windfinder
---
## Design Principles: Apple × Garmin Hybrid
### **Apple HIG Principles We'll Keep:**
1. **Clarity** - Text should be legible at all sizes, icons precise, adornments subtle
2. **Deference** - Content is king; UI helps people understand and interact with content
3. **Depth** - Visual layers and realistic motion convey hierarchy
4. **60×60px Touch Targets** (marine glove-friendly, larger than Apple's 44pt minimum)
5. **Bottom Tab Navigation** - Reachable with thumb while holding device
6. **SF Pro Font** (or system default) - Optimal readability
### **Garmin Clarity Features We'll Add:**
1. **High-Contrast Data Display** - Critical info readable in direct sunlight
2. **Large Typography for Key Metrics** - 32-48px for important numbers
3. **Color-Coded Status Indicators** - Green=OK, Amber=Warning, Red=Critical
4. **Minimalist Charts** - Clean lines, no unnecessary decoration
5. **Glanceable Dashboard** - See all critical info without scrolling
6. **Dark Mode by Default** - Better for night vision on water
---
## Unified Design System
### **Color Palette (Marine-Themed)**
```css
/* Primary Colors */
--navy-blue: #1E3A8A; /* Headers, primary actions */
--ocean-teal: #0D9488; /* Accent, success states */
--sky-blue: #0EA5E9; /* Links, secondary actions */
/* Status Colors (Garmin-inspired) */
--status-ok: #10B981; /* Green - systems normal */
--status-warning: #F59E0B; /* Amber - attention needed */
--status-critical: #EF4444; /* Red - urgent action */
--status-info: #3B82F6; /* Blue - informational */
/* Neutral Colors (Dark Mode Base) */
--slate-950: #020617; /* App background */
--slate-900: #0F172A; /* Card backgrounds */
--slate-800: #1E293B; /* Elevated surfaces */
--white-10: rgba(255,255,255,0.1); /* Borders */
--white-60: rgba(255,255,255,0.6); /* Secondary text */
--white-90: rgba(255,255,255,0.9); /* Primary text */
/* Glass Effect */
--glass-bg: rgba(255,255,255,0.05);
--glass-border: rgba(255,255,255,0.1);
--glass-blur: blur(20px);
```
### **Typography Scale**
```css
/* Garmin-inspired large metrics */
--text-metric-lg: 48px; /* Hero numbers (weather temp, total expenses) */
--text-metric-md: 32px; /* Dashboard stats */
--text-metric-sm: 24px; /* Card values */
/* Apple HIG text sizes */
--text-hero: 34px; /* Page titles */
--text-title1: 28px; /* Section headers */
--text-title2: 22px; /* Card headers */
--text-title3: 20px; /* List headers */
--text-body: 17px; /* Body text (Apple's recommended base) */
--text-callout: 16px; /* Supporting text */
--text-caption: 13px; /* Labels, metadata */
/* Font families */
--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto;
--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto;
--font-mono: "SF Mono", Monaco, "Cascadia Code", Consolas, monospace;
```
### **Spacing System (8pt Grid)**
```css
--space-1: 4px; /* Micro spacing */
--space-2: 8px; /* Base unit */
--space-3: 12px; /* Tight spacing */
--space-4: 16px; /* Comfortable spacing */
--space-5: 20px; /* Section spacing */
--space-6: 24px; /* Large spacing */
--space-8: 32px; /* XL spacing */
--space-12: 48px; /* Hero spacing */
--space-16: 64px; /* Page margins */
```
### **Component Library**
#### **Glass Card (Standard Module Container)**
```vue
{{ label }} {{ value }} {{ unit }} Total Inventory Value €127,450 ↑ €2,300 this year Upcoming Maintenance 3 Next: Oil change (5 days) Monthly Expenses €4,872 ↑ 12% vs last month Camera Status 4 Active Last motion: 12 min ago {{ item.category }} Purchase €{{ item.purchase_price }} Current €{{ item.current_value }}Inventory
{{ item.name }}
{{ service.daysUntil }}
days
{{ service.boat_name }}
{{ camera.location }}
{{ day.dayName }}
{{ day.tempHigh }}°
{{ day.tempLow }}°
{{ day.windSpeed }} kts {{ day.windDirection }}
{{ alert.description }}
Effective: {{ alert.effective }} - {{ alert.expires }}