Inspiration
For this project, I wanted to directly combine the retro aesthetic of pixel are with the modern ubiquity of QR codes. I realized that QR codes are a modern canvas for businesses to share links to their websites and products, and that enhanced customization of these codes would be extremely useful.
What it does
The generator takes in a short text input, alongside pixel art, which can use custom dimensions. It then computes an optimized QR code that contains the specified pixel art, while still properly linking to whatever website was specified.
How I built it
All of the calculations were built from scratch in JavaScript, because I needed to be able to directly access and modify the QR code generation procedure. The frontend was initially created by me, but I used generative AI to improve the look and style of the site.
Challenges I ran into
The biggest challenge was performing the error correction calculations, which are vital to create QR codes that still function, even when damaged or modified. To do this, I had to implement the polynomial error-correction algorithm, which required re-implementing the \(GF(2^{256})\) multiplication algorithm.
Accomplishments that I'm proud of
I'm most proud of creating the pixel art interface. This was also challenging, because I knew that the interface had to easily usable, which is challenging for a pixel art editor. I hope that the editor itself is simple and responsive, or it's likely that users would get frustrated using the application.
What I learned
I learned a lot about how HTML and JavaScript can interact with each other to create dynamic webpages. I have had extremely little experience in web development so far, so creating a full applications was a new experience for me.
What's next for Pixel Art QR Code
The projects scope was intentionally limited, since I'm trying something new. I might continue to make minor adjustments, but most of the application is already complete, and I have no major ideas for improving it.
Log in or sign up for Devpost to join the conversation.