Reimagining the QR code
CloudEngage wanted their own version of a QR code that was more
aesthetically pleasing, simplified, and could be used to connect two people easily to share contact
details, photos, and information. I was tasked with creating the logic that would recognize and
translate that code from binary data into an 6 digit letter sequence matching the user's profile.
The system implemented uses Hough Circle Detection to find the user's
avatar at the center of the code and, based on its size, creates 3 outer rings in which to scan for the
data at 48 points along those circles. If a region is dark, it is a 1, and if white, a 0. The outer
circle contains a start indicator which is used for orientation and start sequence.
To hone in on the best detection settings, I created an on-screen GUI
that could be used by testers to tweak parameters such as radius, circle accumulation, light and dark
camera settings, and more.
The refined scanning logic could detect codes on small devices such
as an Apple Watch, or larger devices such as a desktop, from approx. 3in - 2ft reliably, and worked on
Android and iOS. The code was generated using D3.js