It’s been quite a while since I last posted here. Life has kept me busy, juggling job hunts and personal development projects. But recently, I stumbled upon something that reignited my passion for problem-solving.

A little over a week ago, I was watching YouTube and came across a fascinating video from “Veritasium” about how QR codes work. The video sparked an idea: What if I built my own QR code generator in Go?

Yes, there are plenty of open-source QR code libraries out there. But this wasn’t about practicality — it was about challenging myself. I wanted to see if I could create one from scratch, without relying on any external packages.

The Journey Begins

I dove straight into development. The Veritasium video was an excellent starting point, but it left many details unexplored. To truly understand how QR codes work, I needed more information. That’s when I discovered the ISO specifications for QR codes. They were enough to fix many assumptions and bugs.

Tackling Reed-Solomon Error Correction

After a few days of progress, I hit my first major roadblock: Reed-Solomon error correction. To make QR codes robust, this step is critical. However, implementing it was no small feat. It required a deep dive into polynomial math, a fair bit of reading, and plenty of trial and error. Armed with pen, paper, and patience, I eventually cracked it—though it took me about a week to get it right.

A (Mostly) Functional QR Code Generator

Once I had error correction working, it was time to squash other bugs and refine my implementation. After much debugging, I was finally able to generate readable QR codes! Not every text string works perfectly yet—there are still some edge cases to iron out — but I’m thrilled with the progress so far.

Closing Thoughts

This project has been a rewarding journey. It reminded me how much I enjoy diving into technical challenges and learning the intricate details behind everyday technologies. There’s still more work to do, but I’m excited to see where this project leads. Who knows—maybe I’ll turn it into a full-fledged library one day!

If you’re curious about the process or want to discuss QR code generation in Go, feel free to reach out. I’d love to share what I’ve learned!

“QR Code”

The QR code from this post was generated with my code :-).