KS // Khaled Saad · on-device CV

Mobile AI · On-Device Computer Vision

Computer vision that runs on the device — fast, offline, private.

I build the whole pipeline: C++ image processing on the camera frame, an INT8 model that fits in kilobytes, and the Flutter app around it. One engineer, from raw sensor data to recognized text — no server in the loop.

Demo loads here.
Drop ocr-demo.mp4 next to this file.
~12 ms per frame INT8 quantized 0 network calls runs on NPU / GPU Arabic + Latin

Why this is rare

Most engineers do one slice of this. I do the whole line.

01

The full on-device line

From the camera frame to recognized text on one phone: a C++ NDK image pipeline, a quantized model running through LiteRT / TFLite, and the production Flutter app shipping it. People who can do all three are uncommon.

02

Built for hard constraints

Mobile is a harsher environment than the server: a fixed power budget, no GPU farm, milliseconds that matter. I work in INT8, delegate to the NPU, and squeeze accuracy out of models small enough to ship. That discipline transfers straight to edge and embedded work.

03

Real document-AI depth

I've built OCR for Arabic identity documents end to end — mixed right-to-left text, dates, ID numbers — the exact problem space of KYC, identity verification, and scanning products. Native Arabic, on top of the engineering.

Selected work

Shipped things, not slideware.

On-device OCR engine

Arabic ID Recognition

in production · internal

A recognition engine for Arabic identity documents. Custom depthwise-separable CNN with a dual-head CTC decoder — one head for mixed Arabic text (names, addresses, RTL), one for pure numbers (dates, IDs) — quantized to INT8 and run fully on-device through LiteRT. The C++ pipeline handles colour conversion and preprocessing before a single frame ever reaches the model.

C++ NDKLiteRT / TFLiteINT8CTCOpenCV

Mobile app · live

Face Auth

Live on Google Play

On-device face authentication built for business use. Camera capture, face processing, and full Flutter delivery on both Android and iOS — shipped through real store review and running on users' devices. The iOS build is distributed B2B, viewable on an iPhone or Mac.

FlutterAndroid · iOSOn-device MLCamera

Open-source · GitHub

flutter_clean_core

On GitHub

A zero-dependency Flutter architecture core: a sealed Result<T> type for error handling and a Controller-as-State pattern, with 20+ tests. Built after the GetX maintenance gap left a hole for a small, dependable state layer.

DartFlutterZero-depTested

Open-source package · pub.dev

yuv_to_png

Published

Fast YUV→PNG conversion for camera and on-device vision pipelines — the kind of low-level frame plumbing every real-time camera feature needs and most projects re-write badly.

DartImage pipelineCamera

Toolkit

What I reach for.

On-device ML

  • TFLite / LiteRT — deploy
  • INT8 quantization — optimize
  • NPU / GPU delegation — accelerate
  • CTC · CNN backbones — design

Vision & image pipelines

  • C++ NDK — libyuv, libjpeg-turbo, libpng
  • OpenGL ES — YUV→RGB, external textures
  • OpenCV — preprocessing

Mobile delivery

  • Flutter — iOS, Android, HarmonyOS
  • Platform channels · FFI — native bridge
  • BLoC · Riverpod — state
  • Clean architecture — structure

Languages

  • C++ · Dart · Python — code
  • Arabic — native
  • English — fluent
  • Russian — learning

Available now · remote

Hiring for camera, scanning, or edge-AI? Let's talk.

Based in Alexandria, Egypt. Open to remote roles and contracts worldwide — especially in identity verification, document AI, and on-device vision.