Scan Link
“Snap a label. The data lands in your sheet.”
One photo capturing both the shipping label and the scale LCD. Scan Link handles the rest.
What it does
Daily repetitive tasks in forwarding warehouses — transcribing tracking numbers, copying the LCD weight, looking up box codes and recording them, proofreading entries — are all replaced by a single photo.
Core features
Tracking number extraction
Rust-native barcode decoder (masuri), NEON SIMD accelerated. EXIF-orientation aware. Supports Code128 / Code39 / EAN and other 1D barcodes.
Weight recognition
OpenCV-based LCD region detection + 4-point perspective warp + CLAHE normalization. CNN recognizes 7-segment digits with template-matching fallback. 19/19 on edge cases, ~85% on 35 real-world items.
Box code OCR + rotation correction
YOLOv8 CoreML label detection (Apple Neural Engine accelerated) → Apple Vision Framework OCR. Auto-rotates portrait/landscape (270° → 90° → 0°). AMK regex + post-processing (O→0, S→5, I→1).
Google Sheets recording
Writes recognized results into the predefined sheet columns instantly.
Validation web UI
Only ambiguous items surface for one-click correction.
Operational flow — 5 steps
- 01Place the box on the CAS electronic scale.
- 02Take a photo with both the shipping label and the scale LCD in frame.
- 03The sync folder triggers automatic recognition.
- 04Results are written into the corresponding Google Sheet row.
- 05Correct ambiguous items via the validation web UI when needed.
Benchmark
68 items — tracking number 97% / weight 99% / label 100% / AMK 74% / 1.1s per item.




Common situations
- ·Adjust the angle so fluorescent reflection does not wash out the LCD.
- ·Make sure the label is not creased or folded.
- ·If recognition fails repeatedly on a specific pattern, retrain the model on that pattern.