top of page

ML Continuous Training Pipeline

Training pipeline behind fixin's Ruby and Sapphire engine

Sapphire_4_3x.png

Built a fully on-device continuous training system into the fixin admin (macOS) application that automatically expands and refreshes the diagnostic model library without any manual CreateML work.

​

The pipeline: fetches raw candidate images from Brave Search API → scores them with a CLIP ViT-B/32 relevance model and perceptual-hash deduplication → trains or retrains classifiers for stale/missing labels using Swift + CreateMLComponents → packages updated CoreML models against the admin project's 4-level manifest (the single source of truth for model identity and label hierarchy).

Ruby_3_3x.png

Key design decisions:

  • Entirely on-device — no backend, no Python, no cloud training service  

  • CLIP curation gate prevents low-quality or off-topic images from entering the training set  

  • Manifest-constrained — pipeline never adds new labels; label changes remain a manual decision  

  • FP16 quantization by default (FP32 opt-in)  

  • Brave Search API (free tier) as the image source — selected over alternatives for cost and privacy reasons  

​

This eliminates the manual dataset collection and model retraining loop that would otherwise require constant attention from a solo developer.

© 2026 Matthew McLellan

bottom of page