Receipt Loom

year
2024–25

In the summer of 2024, my partner Shanni⁠ suggested we purchase a receipt printer with the explicit intention of tangibly visualizing Loom trees on receipt paper.

I realized that 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

Josh

as used in a subculture I was actively involved with at the time,

it is basically.. branching LLM completions

a friend of mine describes it as a choose your own adventure

WhatsApp

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. edited

2024

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:

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

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⁠ & Andrés⁠' 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.

Two run receipts, each with parameters, an input lineage and outputs with QR codes
  1. Settings

    The model and sampler settings for this run.

  2. Input

    The scanned node under its parent. A vertical layout confused some people at first, so each panel title gives its position.

  3. Outputs

    Each completion prints in its own panel.

  4. Code

    Scanning it runs the loom from this output, or reprints it in show mode.

  5. Earlier receipt

    A run from the same input.

image

currently the app has two actions performed by scanning article QRs: print article, or print set of outlinks in article

image

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

qr show

qrshow.nyc, held @ Recurse Center on March 16, 2025

& organized by greg.technology⁠

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. edited

Sydney

We also brought the receipt loom to Sydney, Australia.

Slow loom

also, wow

I just realized

that the process of using the receipt loom with slow local models is actually nice edited

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
A long receipt hanging beside rolled receipts and the scanner on a small shelf
  1. A long run

    One lineage printed as a single scroll.

  2. Receipt queue

    Assorted runs to be read.

  3. Scanner