← Back to portfolio

Tobacco Labeling — Cigarette Pack Verification App

2018 PHP · Laravel · Flutter

In 2018, Russia launched an experiment on mandatory labeling of cigarette packs. Every pack got a unique DataMatrix code, and someone needed to build an app to actually verify these codes. That someone turned out to be us.

phone: Scanning a code on a cigarette pack

The app is straightforward: point your phone camera at the code on a cigarette pack, and the app tells you if it's legit. It pulls up product info — brand, manufacturer, labeling date — and shows the full chain of custody: who produced it, who shipped it, who sold it.

phone: Successful verification with product details

If something doesn't check out — the code is invalid, or the supply chain looks suspicious — the app flags it immediately and lets you report the violation directly. This was meant for inspectors, retail workers, and curious consumers alike.

phone: Failed verification with violation report

phone: Product movement history

Built as a React Native mobile app with a Node.js backend. The tricky part was the QR/DataMatrix scanning — it had to work fast and reliably even on cheap Android phones with mediocre cameras. The backend connected to the national labeling system's API to fetch and verify all the data in real time.

This project later grew into a much bigger story — Russia expanded mandatory labeling to pharmaceuticals, dairy, shoes, and more. But tobacco was where it all started.