# 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 ``` #### **Metric Display (Garmin-Style Large Number)** ```vue ``` #### **Bottom Tab Navigation (Apple HIG)** ```vue ``` --- ## Module Redesign Specifications ### **1. Dashboard (NEW - Home Screen)** **Layout:** 3×2 grid of glanceable metrics + quick actions ```vue ``` ### **2. Inventory Module Redesign** **Changes:** - Replace table with card grid (better for touch) - Add depreciation chart per item - Large item photos with zoom ```vue ``` ### **3. Maintenance Module** (Keep Current Glass Style, Add Garmin Clarity) **Changes:** - Add large countdown timers for upcoming services - Color-code urgency (Green=30+ days, Amber=7-30 days, Red=<7 days) - Show service history chart ```vue

{{ service.daysUntil }}

days

{{ service.service_type }}

{{ service.boat_name }}

``` ### **4. Camera Module** (Add Live Thumbnails + Garmin-Style Status Indicators) **Changes:** - Grid of camera thumbnails (not just list) - Large status dots (Green=Online, Red=Offline) - Tap to full-screen video ```vue ``` ### **5. Contacts Module** (Keep Current Design, Add Garmin Touch Targets) **Changes:** - Increase tap targets to 60×60px - Add one-tap call/email/WhatsApp buttons - Show distance to marina/vendor (if geolocation available) ### **6. Expense Module** (Simplify with Progressive Disclosure) **Changes:** - Hide complex multi-user approval UI behind "Advanced" toggle - Show simple expense list by default - Add chart showing expense breakdown by category --- ## Weather Module (NEW) ### **Primary Goal:** Marine-specific weather data with Garmin clarity ### **Data Sources:** 1. **Windy.com Embed** (Wind/Wave/Temperature layers) 2. **Windfinder.com Embed** (Wind forecast specific to location) 3. **Open-Meteo Marine API** (Free, no API key needed) ### **Implementation Strategy:** #### **Option A: Iframe Embed (Simplest)** ```vue ``` #### **Option B: Scraping/API Integration (More Complex)** If iframe restrictions are an issue, we can: 1. **Use Open-Meteo Marine API** (free, returns JSON) 2. **Use Windy API** (requires API key, $199/year for commercial) 3. **Scrape Windfinder** (not recommended, violates TOS) **Recommended:** Use iframe embeds (Option A) for map visualizations, fetch Open-Meteo API for numerical data to display in Garmin-style metrics. ### **Marine-Specific Weather Alerts** ```vue ``` --- ## Implementation Roadmap ### **Phase 1: Core Design System (1 week)** - [ ] Create CSS custom properties file (`design-tokens.css`) - [ ] Build component library: - [ ] GlassCard.vue - [ ] MetricDisplay.vue - [ ] BottomTabNavigation.vue - [ ] StatusIndicator.vue - [ ] Test dark mode on actual device in sunlight ### **Phase 2: Module Redesigns (2 weeks)** - [ ] Dashboard (new home screen) - [ ] Inventory (card grid) - [ ] Maintenance (urgency indicators) - [ ] Camera (live thumbnails) - [ ] Contacts (60px touch targets) - [ ] Expense (progressive disclosure) ### **Phase 3: Weather Module (1 week)** - [ ] Integrate Open-Meteo Marine API - [ ] Embed Windy iframe - [ ] Embed Windfinder iframe - [ ] Build 5-day forecast strip - [ ] Add weather alerts ### **Phase 4: Polish & Testing (1 week)** - [ ] Test on iPad in bright sunlight (verify Garmin clarity) - [ ] Test with sailing gloves (verify 60px touch targets) - [ ] Performance audit (target: 60fps scrolling) - [ ] Accessibility audit (WCAG 2.1 AA) --- ## Budget Estimate | Phase | Description | Time | Cost | |-------|-------------|------|------| | Phase 1 | Design system + components | 40 hours | €3,200 | | Phase 2 | Module redesigns | 80 hours | €6,400 | | Phase 3 | Weather module | 40 hours | €3,200 | | Phase 4 | Polish + testing | 40 hours | €3,200 | | **Total** | | **200 hours** | **€16,000** | *Assumes €80/hour senior frontend developer rate* --- ## Key Decisions Summary 1. **Design System:** Apple HIG + Garmin clarity hybrid 2. **Navigation:** Bottom tab bar (6 tabs max, iOS-style) 3. **Color Palette:** Dark mode by default, marine blue/teal accent 4. **Touch Targets:** 60×60px minimum (glove-friendly) 5. **Typography:** Large metrics (32-48px) for critical data 6. **Weather Data:** Open-Meteo Marine API (free) + Windy/Windfinder iframes 7. **Dashboard:** Glanceable 3×2 grid of key metrics 8. **Status Indicators:** Color-coded (Green/Amber/Red) Garmin-style dots --- **Next Steps:** Review this strategy document, approve design direction, then launch Phase 1 agents to build component library.