Dead repo walking: a 2017 iOS ID card scanner
A Swift project that used Vision and CoreML to read Chinese ID cards before its author moved on.

What it does Reads China’s second-generation ID cards using on-device machine learning. The app takes a photo, runs it through image processing, and extracts text fields. It was built for iOS 11 and Xcode 9, back when CoreML was fresh enough to mention in a changelog.
The interesting bit
The author swapped out a hand-rolled FFNN (feed-forward neural network) for Apple’s then-new Vision + CoreML stack in September 2017. That’s a neat snapshot of the iOS ML transition era — from custom nets to Apple’s blessed pipeline. The README also candidly admits the model struggles with low-quality images “due to computer performance issues,” which is charmingly honest.
Key highlights
- On-device OCR, no cloud round-trip required
- Replaced custom neural net with Apple’s Vision/CoreML in 2017
- Includes a visual pipeline showing image processing stages
- Apache 2.0 licensed
- Author migrated to a newer multi-card OCR project (Evil)
Caveats
- Explicitly deprecated; author points to new repo
- Model accuracy drops on poor-quality images
- TODO items left unfinished: training data generation,
*.h5to*.mlmodelconversion - Locked to iOS 11 / Xcode 9 era; unlikely to build cleanly on modern toolchains
Verdict Worth a quick look if you’re studying early CoreML adoption patterns or Chinese ID card OCR archaeology. Skip it if you need something that builds today — follow the deprecation link to Evil instead.