top of page

fixin - iOS

ML-Powered Visual Diagnostic Platform (iOS / iPadOS / macOS)

fixin-wordmark-white-v2_3x.png

Built and deployed an ML-powered visual diagnostics platform that identifies automotive, marine, and household repair issues directly from user-submitted photos. The platform is live, has real users, generates revenue, and is protected by patents and copyrights for its core diagnostic pipeline.

​

The classification system is a manifest-driven hierarchical tree (domain → primary → secondary) that runs entirely on-device via CoreML, using a MobileViTv2-100 backbone — no cloud round-trip required for inference. Adding a new model is a manifest edit plus a bundled `.mlmodel` file; no code change needed. This was a deliberate architectural choice: earlier cloud-hosted models had unacceptable latency, so the entire inference stack was moved on-device. Users only need an internet connection for the first login and a 30-day token refresh — the app is otherwise fully usable offline.

AppClip_Banner_V4_3x.png

The training side uses a CLIP ViT-B/32 curation model to score and filter web-sourced training images before they reach the classifier — the quality gate that keeps models from becoming confidently wrong on real-world repair inputs. The full continuous training pipeline runs natively on macOS using Swift and CreateMLComponents; no Python or backend required.

image-1790369204219.png

Key features:

  • - Manifest-driven model registry—models swapped via JSON config, not code changes  

  • - OBD-II vehicle integration for real-time automotive fault data (car domain)  

  • - AI-generated repair instructions exported to PDF via PDFKit  

  • - Dual-mode chat assistant: Ollama (AWS-hosted LLM) for in-depth guidance, on-device classifier for offline use  

  • - Diagnosis history synced across devices via SwiftData + CloudKit  

  • - Offline-first architecture — full diagnosis flow works with zero connectivity; server actions queued and reconciled in the background  

  • - Autonomous continuous training pipeline (Brave Search → CLIP gate → CreateMLComponents) in admin build  

  • - Dynamic model manifest with remote OTA update capabilities and SHA-256 verification 

© 2026 Matthew McLellan

bottom of page