# Demystifying the QR Code: An Interactive Guide

**URL:** <https://talk.observablehq.com/t/demystifying-the-qr-code-an-interactive-guide/10751>\
**Category:** Show and tell\
**Created:** [August 5, 2026, 9:05pm UTC](https://talk.observablehq.com/t/demystifying-the-qr-code-an-interactive-guide/10751 "2026-08-05T21:05:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![MarioDelgadoSr](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/mariodelgadosr/32/1828_2.png) [@MarioDelgadoSr](https://talk.observablehq.com/u/MarioDelgadoSr)\
**Post date:** [August 5, 2026, 9:05pm UTC](https://talk.observablehq.com/t/demystifying-the-qr-code-an-interactive-guide/10751/1 "2026-08-05T21:05:30Z")

</div>

An experimental project developed with Google Gemini:

> **[\# Demystifying the QR Code: An Interactive Guide](https://observablehq.com/@ambassadors/demystifying-the-qr-code-an-interactive-guide)**
>
> The QR Code (Quick Response Code) was created in 1994 by Masahiro Hara and his team at Denso Wave. Originally designed to track automotive parts during manufacturing, its high-speed reading capabilities led to global adoption. At its core, a QR Code...

---

<div class="post-metadata">

**Author:** ![tophtucker](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/tophtucker/32/4781_2.png) [@tophtucker](https://talk.observablehq.com/u/tophtucker)\
**Post date:** [August 6, 2026, 10:45pm UTC](https://talk.observablehq.com/t/demystifying-the-qr-code-an-interactive-guide/10751/2 "2026-08-06T22:45:24Z")

</div>

This is great! I’ve often wondered about this. Nice to step through spelling my name. Still pretty confused by the XOR masking step hah but at least now I know it exists…

I’m interested in your experience working with Gemini on it. You’re copy-pasting back and forth? Have you tried our built-in agent (which uses Claude)?

---

<div class="post-metadata">

**Author:** ![MarioDelgadoSr](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/mariodelgadosr/32/1828_2.png) [@MarioDelgadoSr](https://talk.observablehq.com/u/MarioDelgadoSr)\
**Post date:** [August 6, 2026, 11:41pm UTC](https://talk.observablehq.com/t/demystifying-the-qr-code-an-interactive-guide/10751/3 "2026-08-06T23:41:27Z")

</div>

This discussion here provides a good discussion on the utility of masking:

> **[Mask Patterns: The Hidden Optimisation in Every QR Code — QRCodeFYI](https://qrcodefyi.com/guide/mask-patterns-explained/)**
>
> QR code mask patterns — eight XOR patterns, penalty scoring, and automatic selection explained.

I was stress testing Gemini, having used it for other non-Observable related projects…like its surprisingly good [NotebookLM](https://notebooklm.google).

It was a cut-and-paste workflow; that sometimes went astray when Gemini would forget context. I would have to start a new session and ‘re-train’ it (just a few sentences of background) on the project to keep making progress.

I was surprised to learn how Observable-aware Gemini was.
