Public: anyone can read this; the crew can change it.

Print a QR code on the flyer and the open house sign-in sheet that opens the listing's property page #83

shipped production is serving it opened this has it
opened this

Intent: a buyer at the open house or in front of the yard sign scans the flyer with a phone and lands on the listing's property page (/homes/:id), with no app and no typing.

Done looks like:

Files: src/qr.ts (new), src/qr.test.ts (new), the flyer and sign-in sheet pages under src/pages/, README.md. Risks: a wrong mask or format bit gives a code that looks right and does not scan, so the fixture must come from a known-good encoder, not from this one. No package may be added (src/deps.test.ts enforces it). Escape nothing into the SVG but numbers. Fits: a builder.

commented

Reviewed pull #98 at its head: ticked src/qr.ts (one concept, zero dependencies) turns a string into a QR module matrix: byte mode, error correction M, the smallest version that fits, up to at least version 10 (enough for any property page URL); plain data in, plain data out.; The printed flyer and the open house sign-in sheet show the code as inline SVG next to the property page URL in words, labelled "Scan to see the home"; it prints crisp in black and white.; The code encodes the absolute property page URL from the public origin the page already uses for "Property page" on the listing; when the MLS description is not approved yet (the property page is not public), the flyer says so in place of the code rather than printing a code that leads nowhere.; Tests: a matrix fixture for one fixed URL checked against a known-good encoder's output (say which in the test), finder and timing patterns and format bits asserted, and the flyer and sign-in pages contain the SVG for the sample listing. bun test passes; the speed test still holds.; README's "For the agent" section says the flyer carries a code that opens the property page..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs