Most AI apps today are thin wrappers around cloud APIs. Snaap is the opposite — 100% on-device processing, zero backend, zero API calls. Here's the complete architecture and why I made each decision. The Stack ┌─────────────────────────────────────────┐ │ SwiftUI │ │ Splash · Scan · Home · Settings · Share │ ├─────────────────────────────────────────┤ │ UIKit │ │ Inbox Card Stack + Swipe Gestures │ ├─────────────────────────────────────────┤ │ Processing Layer │ │ PhotoKit → Vision → Classifier → Engine │ ├─────────────────────────────────────────┤ │ GRDB / SQLite │ │ Local persistence, migrations │ └─────────────────────────────────────────┘ Enter fullscreen mode Exit fullscreen mode Why Hybrid SwiftUI + UIKit? SwiftUI for static screens — Splash, Home, Settings. Declarative, fast to build, easy to maintain. UIKit for the Inbox — The card stack with swipe gestures needs UIPanGestureRecognizer with spring physics.…