--- title: Receipt Loom description: Screenless Loom implementation. image: https://media.fjpaz.net/projects/receipt-loom/clip-input-output.poster.4c7d75e2.webp canonical: https://fjpaz.net/receipt-loom markdown: https://fjpaz.net/receipt-loom.md section: projects year: 2024–25 tags: - LLMs - receipt urls: - https://receipt.blue/weave --- # Receipt Loom Screenless [Loom implementation](https://www.are.na/josh-pazmino/loom-implementations). Year: 2024–25 · Site: [receipt.blue/weave](https://receipt.blue/weave) · Tags: LLMs, receipt In the summer of 2024, my partner [Shanni](https://shannisun.net) suggested we purchase a receipt printer with the explicit intention of tangibly visualizing Loom trees on receipt paper. I realized that [loom](https://fjpaz.net/loom) could ostensibly power a prototype of an interactive "paper loom" with just a few modifications. We ordered and received our first thermal printer shortly thereafter; I spent a week or two adding rudimentary ESC/POS support, and we gave a series of informal demonstrations to a number of pairs -> groups of friends (and friends of friends) over the following weeks and months. ### [what-is-loom-pair](https://fjpaz.net/receipt-loom#what-is-loom-pair) · pair, side by side #### [clip-input-output](https://fjpaz.net/receipt-loom#clip-input-output) · video (left) ![A receipt prints, then is laid beside an earlier receipt on the table](https://media.fjpaz.net/projects/receipt-loom/clip-input-output.poster.4c7d75e2.webp) Video: [clip-input-output.e58ca543.webm](https://media.fjpaz.net/projects/receipt-loom/clip-input-output.e58ca543.webm) · 1080×1920 #### [what-is-loom](https://fjpaz.net/receipt-loom#what-is-loom) · chat excerpt (right) [7:11 PM] Unnamed: what is loom [7:12 PM] Josh: as used in a subculture I was actively involved with at the time, it is basically.. branching LLM completions [7:12 PM] Josh: a friend of mine describes it as a choose your own adventure WhatsApp, Aug 31, 2026 ### [space-mentally](https://fjpaz.net/receipt-loom#space-mentally) · voice excerpt It’s the only system I’ve ever used where I feel like I have space mentally to do with as I wish. I can use it to think, I can use it to read, or I could just be present and do neither. … The web browser has infinity, for your mind, and that’s really hard not to engage with. But when all you have is these eight nodes, and the only thing you can do with them is scan them or not, and they’re not on a screen that’s itself a portal to everything else, that’s really powerful. voice note, recorded Mar 23, 2025, 1:14 AM, from 4:40 (edited) ## [2024](https://fjpaz.net/receipt-loom#early) I found my laptop + terminal to be rather heavily distracting to users, quickly & continuously hijacking attention from the receipts themselves, let alone the material _printed on_ the receipts. The less visual contact between a user and my computer, the smoother their experience seemed to go, regardless of technical inclination. We observed that a user who engaged with the receipts directly (minimized eye-screen, maximized hand-paper contact) was more likely to find intrigue in the heart of the project: base models + Loom. A couple of users noted that their previously wholly-negative impression of AI broadly had been swayed by their experience. I found myself at a certain point in this process fascinated by the idea of a paper-only "card-based" mechanism for operating the loom. My early attendance @ Side Project Saturday was largely oriented toward building out something to that effect: ### [cards-pair](https://fjpaz.net/receipt-loom#cards-pair) · row of 2 #### [cards](https://fjpaz.net/receipt-loom#cards) · image ![A handwritten prompt card beside an inference card with model checkboxes and dials for max_tokens and temperature](https://media.fjpaz.net/projects/receipt-loom/cards.99c334af.webp) Regions: 1. [Prompt card](https://fjpaz.net/receipt-loom?region=prompt#cards) · left Write a prompt by hand. 2. [Models](https://fjpaz.net/receipt-loom?region=models#cards) · top right Check off the models to run. 3. [Completions](https://fjpaz.net/receipt-loom?region=completions#cards) · right How many outputs to print. 4. [max_tokens](https://fjpaz.net/receipt-loom?region=max-tokens#cards) · right Mark a length on the dial. 5. [temperature](https://fjpaz.net/receipt-loom?region=temperature#cards) · bottom right Two marks here. 6. [Card codes](https://fjpaz.net/receipt-loom?region=codes#cards) · centre A camera above the table was meant to read both cards at once. Reading several codes in room light never worked well enough. #### [card-dials](https://fjpaz.net/receipt-loom#card-dials) · image ![Short printed receipts laid out in rows on a table](https://media.fjpaz.net/projects/receipt-loom/card-dials.ed628a19.webp) I made solid progress, but hit a wall (that is, quickly and reliably scanning multiple QR codes with a single faraway camera under varied lighting conditions) and paused work on the receipt side of my loom for a good while. ## [Barcode scanner](https://fjpaz.net/receipt-loom#scanner) I resolved one night in March 2025 to finish the first iteration of a paper-only receipt loom; my intention was to give the multi-QR scanning hurdle another earnest attempt in light of new model releases, etc. Thinking the next morning about what I'd seen of [Omar](https://omar.website) & [Andrés](https://cwervo.com)' Folk Gadget, I realized that scanning multiple QR codes simultaneously (Folk-style) was a problem that didn't necessarily need solving for this system to exist. I'd previously toyed with a webapp to scan codes with a mounted or handheld smartphone, but foregone the idea in large part due to its dissonance with the intention behind the project (screenless computing / LLM interaction), along with performance concerns. By comparison, barcode scanners have been heavily optimized for speed, accuracy, and ergonomics: The rest of the prototype came together pretty smoothly over the course of a couple of weeks. ### [run-receipts](https://fjpaz.net/receipt-loom#run-receipts) · image ![Two run receipts, each with parameters, an input lineage and outputs with QR codes](https://media.fjpaz.net/projects/receipt-loom/run-receipts.b7abd844.webp) Regions: 1. [Settings](https://fjpaz.net/receipt-loom?region=params#run-receipts) · top right The model and sampler settings for this run. 2. [Input](https://fjpaz.net/receipt-loom?region=input#run-receipts) · right The scanned node under its parent. A vertical layout confused some people at first, so each panel title gives its position. 3. [Outputs](https://fjpaz.net/receipt-loom?region=outputs#run-receipts) · right Each completion prints in its own panel. 4. [Code](https://fjpaz.net/receipt-loom?region=code#run-receipts) · left Scanning it runs the loom from this output, or reprints it in show mode. 5. [Earlier receipt](https://fjpaz.net/receipt-loom?region=earlier#run-receipts) · bottom left A run from the same input. ### [controls](https://fjpaz.net/receipt-loom#controls) · pair, side by side #### [clip-param-scan](https://fjpaz.net/receipt-loom#clip-param-scan) · video (left) ![A parameter changes on the Joy-Con, then the scanner reads a code on a receipt](https://media.fjpaz.net/projects/receipt-loom/clip-param-scan.poster.15d93f1a.webp) Video: [clip-param-scan.fdab1e99.webm](https://media.fjpaz.net/projects/receipt-loom/clip-param-scan.fdab1e99.webm) · 1080×1920 #### [controls-omar](https://fjpaz.net/receipt-loom#controls-omar) · chat excerpt (right) [11:53 PM] Josh: currently the app has two actions performed by scanning article QRs: print article, or print set of outlinks in article [image] [11:53 PM] Josh: [image] [11:53 PM] Josh: the receipt loom and bsky client had a similar model where any given QR could trigger different actions when scanned loom at first was conceived for use with joycon in one hand and scanner in the other, and later ended up implementing scan-sheet-to-change-mode (vs joycon trigger / shoulder+trigger to set) (edited) iMessage, Mar 29, 2026 ## [qr show](https://fjpaz.net/receipt-loom#qrshow) qrshow.nyc, held @ Recurse Center on March 16, 2025 & organized by [greg.technology](https://greg.technology) ### [qrshow-pair](https://fjpaz.net/receipt-loom#qrshow-pair) · row of 2 #### [recurse-printer](https://fjpaz.net/receipt-loom#recurse-printer) · image ![The thermal printer with its lid open at Recurse Center](https://media.fjpaz.net/projects/receipt-loom/recurse-printer.b0ee1e29.webp) Regions: 1. [Thermal printer, lid open](https://fjpaz.net/receipt-loom?region=printer#recurse-printer) · top left An Epson thermal receipt printer, opened for a new roll. 2. [Receipts](https://fjpaz.net/receipt-loom?region=receipts#recurse-printer) · bottom right Runs printed during the show. 3. [Terminal](https://fjpaz.net/receipt-loom?region=terminal#recurse-printer) · bottom left The laptop runs the scanner loop and the Joy-Con state. Visitors read the paper; the screen stays out of the way. #### [qrshow-wall](https://fjpaz.net/receipt-loom#qrshow-wall) · image ![About thirty receipts hung in columns on a white wall](https://media.fjpaz.net/projects/receipt-loom/qrshow-wall.81e296ca.webp) Regions: 1. [The wall](https://fjpaz.net/receipt-loom?region=wall#qrshow-wall) · centre → [qrshow.nyc/retrospective.html](https://qrshow.nyc/retrospective.html) Receipts printed during qr show, hung on the wall in columns. 2. [Exhibit card](https://fjpaz.net/receipt-loom?region=label#qrshow-wall) · top left The show's card for receipt loom, with a code. It names both makers. 3. [Signatures](https://fjpaz.net/receipt-loom?region=signatures#qrshow-wall) · centre Some receipts carry signatures. 4. [Next exhibit](https://fjpaz.net/receipt-loom?region=neighbour#qrshow-wall) · top right A neighbouring exhibit's poster. 5. [Other exhibits' cards](https://fjpaz.net/receipt-loom?region=neighbour-cards#qrshow-wall) · top left Cards and codes from other exhibits on the same wall. ### [qrshow-alone](https://fjpaz.net/receipt-loom#qrshow-alone) · voice excerpt To have the opportunity to share the project with a large amount of people who mostly enjoyed it, that was really cool … a year ago, I didn’t know ~anyone I could have shared this work with. voice note, recorded Mar 25, 2025, 10:39 AM, from 0:01 (edited) - [qr show retrospective](https://qrshow.nyc/retrospective.html) ## [Sydney](https://fjpaz.net/receipt-loom#sydney) We also brought the receipt loom to Sydney, Australia. ## [Slow loom](https://fjpaz.net/receipt-loom#slow) ### [slow-waiting](https://fjpaz.net/receipt-loom#slow-waiting) · chat excerpt Josh: also, wow Josh: I just realized Josh: that the process of using the receipt loom with slow local models is actually nice (edited) Josh: given that while waiting, you can do some variation of: - physically handle existing outputs - decide what you're going to scan next - adjust parameters - scan another node to queue a run - repeat Messenger, Mar 19, 2025 ### [morning-digest](https://fjpaz.net/receipt-loom#morning-digest) · image ![A long receipt hanging beside rolled receipts and the scanner on a small shelf](https://media.fjpaz.net/projects/receipt-loom/morning-digest.7d4ad486.webp) Regions: 1. [A long run](https://fjpaz.net/receipt-loom?region=scroll#morning-digest) · left One lineage printed as a single scroll. 2. [Receipt queue](https://fjpaz.net/receipt-loom?region=rolls#morning-digest) · right Assorted runs to be read. 3. [Scanner](https://fjpaz.net/receipt-loom?region=scanner#morning-digest) · centre ### Related - [Wikireceipt](https://fjpaz.net/wikireceipt) - [Loom(s)](https://fjpaz.net/loom) - [thermal printing](https://fjpaz.net/thermal-printing) Previous: [Wikireceipt](https://fjpaz.net/wikireceipt) · Next: [Loom(s)](https://fjpaz.net/loom)