Aztec Scanner — Computer vision library · proprietary by Arsen GoianAztec Scanner — Computer vision library · proprietary by Arsen Goian

Aztec Scanner — Computer vision library · proprietary

Arsen Goian

Arsen Goian

Reads the Aztec code on Polish vehicle registration certificates from a phone photo, so insurance chatbots get exact car data without typing.
Role: Author
Client: Insurance assistance chatbots, Poland
Team: Solo
Period: 2018–2019

Challenge

Car-insurance assistance chatbots in Poland need exact vehicle data — make, model, VIN, registration number — and asking drivers to type it is slow and error-prone. Every Polish registration certificate carries an Aztec 2D code holding that data, but decoding it from real phone photos, which are skewed, unevenly lit and low-resolution, is far harder than reading a clean scan. The bots needed a scanner that copes with such photos and plugs into their PHP back end.

Solution

I built the decoder as a Python pipeline with OpenCV and NumPy, compiling the heavy image-processing modules with Cython for speed. Contour detection locates the symbol; grid detection, enhancement and reading turn pixels into bits; then the mode message and data layers are parsed. Reed–Solomon error correction recovers damaged codewords, and the certificate payload is decompressed and decoded into fields. A PHP wrapper with GD runs the pipeline, maps fields to the bot’s data model and turns failures into friendly retry messages.

Key features

Locates the Aztec symbol in skewed, noisy phone photos
Grid detection, enhancement and bit reading compiled with Cython
Reed–Solomon error correction for damaged codewords
Decodes the certificate payload into mapped vehicle fields
PHP wrapper with error handling and user-friendly retry messages

Outcome

Used in insurance assistance chatbots; 30 commits over five months; closed source

Stack

Python, Cython, OpenCV, NumPy, PHP, GD, Node.js, Reed–Solomon
Like this project

Posted Oct 22, 2026

Reads the Aztec code on Polish vehicle registration certificates from a phone photo, so insurance chatbots get exact car data without typing.