Analysis updated 2026-05-18
Create a personal digital business card that opens an AI chat about yourself when someone scans it.
Build a portfolio conversation piece that lets visitors ask an AI questions about your projects.
Learn how to compress and embed an entire web app inside a URL's hash fragment.
Deploy a lightweight, serverless AI chat demo without hosting a traditional backend.
| agarwalpranav0711/qr-ai-chat | 100/tab-organizer | addyosmani/devtools-snippets | |
|---|---|---|---|
| Stars | 11 | 11 | 11 |
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | — | 2021-03-01 | 2013-09-22 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 1/5 | 1/5 |
| Audience | vibe coder | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires deploying a Cloudflare Worker and providing your own AI API key.
This project fits an entire working AI chat interface inside a single QR code. Most QR codes that claim to offer an AI chat just contain a link to a normal website, but this one is different: the whole interface, meaning the page's HTML, CSS, and JavaScript, along with some personal context about the person it represents, is shrunk down and stored directly in the QR code itself. When someone scans it, their phone's browser decompresses that data on the spot and runs the chat interface live, without loading anything from a server first. To make this fit, the code goes through a compression pipeline. First the interface's code is minified, meaning whitespace and comments are stripped and variable names are shortened. Then it is compressed with gzip, and finally encoded in base64 so it can safely travel inside a web address. The result has to squeeze under about 2,953 bytes, which is the maximum amount of data a QR code can hold at its largest standard size and lowest error correction level. The compressed data lives in the part of the web address after the hash symbol, a part browsers never send to a server, so the page that reads and decompresses it can be a simple static file. Once the interface loads, sending a chat message still requires a real network call to an actual AI model, since AI models themselves are far too large to fit in a QR code. That call goes through a Cloudflare Worker, a small serverless function that keeps the AI provider's API key hidden from anyone inspecting the code, limits how many messages each visitor or the whole system can send, checks that incoming messages are valid, and does not log conversations. The author is upfront that scanning such a dense QR code can be unreliable with some phone cameras, and suggests using a dedicated scanning app or an online QR reader if the default camera fails. The project is meant to be forked: someone can swap in their own name and background details, deploy their own Cloudflare Worker with their own AI API key, run a build script to generate their own compressed link and QR code, and host the resulting page anywhere that serves static files. It is released under the MIT license.
An entire AI chat interface compressed to fit inside one QR code, so scanning it runs the chat live with no separate webpage.
Mainly JavaScript. The stack also includes JavaScript, HTML, CSS.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly vibe coder.
This repo across BitVibe Labs
Verify against the repo before relying on details.