Rao Studios · lm.rao.nyc

RaoLM

a language model with its citations baked in

Rao prepares artificial intelligence the correct way: from knowledge people chose to share, kept on the machines where it was made, and credited back to them in everything the model says.

  • Ambienttext
  • Craftcode
  • Veilvisuals

one Thread each one model for everyone

Whose words shaped the answer?

Most language models are trained on text with the names taken off. A crawler collects it, a pipeline cleans it, and somewhere between the two the one fact that mattered most — who wrote this — is discarded as noise. By the time a model answers you, the question of whose words shaped the answer cannot be asked. The information needed to answer it was thrown away before training began.

When does generative AI qualify for fair use?
The question Rao’s stack was built to answer — Sewn, README, 23 October 2025

RaoLM starts from the opposite premise: provenance is training data too. If the address of every passage survives from the moment it is written to the moment a model learns from it, a model can be trained to give that address back — not as a search result stapled to the answer afterward, but as part of what it generates.

That is only possible if the data arrives with its address intact. So the work does not begin with the model. It begins with the products people use every day.

Three products, three kinds of knowledge

Rao makes three things. Each is useful on its own, each runs on your own machine, and each leaves behind a different kind of knowledge as a by-product of ordinary work.

  • Ambient

    A reading companion for macOS.

    Ambient keeps track of what is in front of you, in whatever window or app it is in, and lets you ask about it by voice or text. It reads and listens. It never clicks, never types, and never captures pixels.

    Contributes text

    The passages you read and the things you say — language, and the knowledge carried in it.

  • Craft

    A coding agent that runs entirely on your Mac.

    A terminal and a native app driving one runtime. Craft indexes your code with SwiftSyntax and runs its model on your own silicon; its first instruction is that nothing leaves the machine.

    Contributes code

    The functions you write, and the way you write them.

  • Veil

    Describes images, so a language model can understand them.

    Veil looks at the images you make and work with, and describes them in words — what is in the frame, where it sits, how it is lit — tile by tile, so every part of a picture has a sentence that can be pointed to.

    Contributes visuals

    Descriptions of your images: visual understanding, in the only form a language model reads.

Veil is the one most easily misread, so it is worth being plain about it. RaoLM does not generate images, and nothing in this stack is a diffusion model. RaoLM is a language model: what it understands about the visual world, it learns from Veil’s descriptions — which means a claim it makes about a picture can be cited like any other sentence.

All three write to the same place.

Thread, where every contribution keeps its address

Everyone who uses Rao’s products has a Thread: a memory node that lives on their own machine. A reading from Ambient, a function from Craft and Veil’s description of a frame all arrive the same way. Each is cut into partitions; each partition is embedded to 1,024 dimensions and compressed with product quantization; and what it mentions is folded into a knowledge graph of entities and relationships.

Every partition is content-addressed — named by the SHA-256 of its own content. The same passage arriving from two places is stored once. More importantly, it has an address that never changes, and that address is what a citation will eventually point to.

Figure 1

Three inputs, one Thread

A passage, a function and a described frame from one person’s day, written to their Thread. The image never enters the Thread — its description does. Every address is the real SHA-256 of the text shown.

  1. AmbienttextRead in Reader · 09:14

    A passage you read

    Distance is not painted in white. It is painted by taking the darks away — the far hill keeps its outline and loses its shadows, one layer of air at a time.

  2. CraftcodeWritten in Craft · 10:02

    A function you wrote

    float fogAmount(float depth,
                    float density) {
        return 1.0 - exp(-density * depth);
    }
  3. VeilvisualsDescribed by Veil · 13:20

    A frame you drew, described

    The near pylon of a suspension bridge, sharp and dark against pale fog. Its main cable sweeps away to the right, toward a second pylon that is almost lost; behind them the horizon is a pale, unbroken band.

  1. 1Partitioninto passages, lines or tiles
  2. 2Embed1,024 dimensions, on device
  3. 3Quantize4 KB of floats become short integer codes
  4. 4Graphentities and their relationships
  5. 5Addressthe SHA-256 of the content

Your Thread

thread 857299ac…4645 · a directory on this machine

AddressFromWhere in itEntities in the graph
27adc829…20c8Ambienttextcharacters 1,204–1,360atmospheric perspective, contrast, distance
7ebaff20…cf81Craftcodelines 14–17 of Fog.metalfogAmount(depth:density:), exp, Fog.metal
afadbeb3…c60cVeilvisualstile (1, 2) of 4 × 3suspension bridge, pylon, fog, horizon

Point at an input or a row to see its whole address.

Nothing in a Thread leaves the machine it lives on by default. It is yours in the plain sense: a directory on your disk, not an account on someone else’s server.

Plato, or learning as remembering

And if the truth of all things always existed in the soul, then the soul is immortal. Wherefore be of good cheer, and try to recollect what you do not know, or rather what you do not remember.
Plato, Meno 86b — trans. Benjamin Jowett

In the Meno, Socrates leads a boy who has never studied geometry to double the area of a square by asking him questions and nothing else. The conclusion Plato draws is that learning is a kind of recollection — the knowledge was already there, and the right questions brought it forward.

Rao’s personal AI takes the same view of personalization. Plato, the recollection layer in Rao’s stack, does not retrain a model on you. It recollects. At the moment you ask, it retrieves from your Thread the passages that bear on the question, together with a profile of you learned from the behavioral patterns of your day-to-day use: what you read, the idioms you reach for in code, the palettes you keep returning to. Both are placed in context. The model’s weights stay general; its context becomes yours.

It runs on everyone’s system, on-device. A profile that is only ever used on your machine never needs to leave it.

Figure 2Illustration

One day, three questions

Each question recollects different partitions from the Thread, and different habits from the profile. Choose a question, or let them cycle.

Today, on this machine

  1. 09:14Read a passage on atmospheric perspective
  2. 10:02Wrote fogAmount(depth:density:) in Fog.metal
  3. 10:40Split a long shader into three small, pure functions · a habit
  4. 11:45Read Plato’s Meno, 81a–86c
  5. 13:20Drew a storyboard frame; Veil described it
  6. 15:40Heard a lecture on light through fog
  7. 17:05Graded four frames toward cool, low contrast · a habit
  8. 18:30Kept the quotation, skipped the summary · a habit

Ask

What Plato places in context

Recollected from your Thread

  • Veilafadbeb3…c60c

    The near pylon of a suspension bridge, sharp and dark against pale fog. Its main cable…

  • Ambient27adc829…20c8

    Distance is not painted in white. It is painted by taking the darks away — the…

Recollected from how you work

  • Veilseen across 41 frames

    Grades toward cool, low-contrast palettes

Assembled on this machine for this one answer. The model’s weights are not changed; its context is.

RaoLM, from everyone who chose to give

Recollection makes one person’s AI better. RaoLM is how everyone’s knowledge becomes general understanding — with their consent.

When a person chooses to contribute their Thread, its partitions join RaoLM’s pretraining corpus carrying the same addresses they had on the machine where they were made. RaoLM is a transformer trained with those addresses in view. When it generates, it cites the training passages that shaped the output — resolved to the exact span, and through the span to the Thread it came from.

Knowledge that was given can be generalized. Knowledge that was not stays where it is. The model learns from what people contributed, and says precisely whose it was.

Figure 3Illustration

Many Threads, one model, every marker traceable

Contributed Threads each enter the corpus as their own stripe; the rest stay on their machines. Follow a marker in the answer back to the one Thread it rests on.

Marker 1 rests on a passage read in Ambient — in your Thread.

  • Thread contributed with consent
  • Thread that stays on its machine

A citation, followed all the way back

Suppose you contributed your Thread. Months later, someone you have never met asks RaoLM about fog in a bridge scene. This is the answer they would read — and every marker in it leads back to your day.

Figure 4Illustration

Four sentences, four sources

Each marker resolves to a sentence in the answer, the passage it rests on, the exact words or tile, and the Thread that passage came from. Ranges and addresses are computed from the text shown.

Someone asks

How should the fog in a bridge scene behave?

RaoLM answers

Fog reads as distance because it takes contrast away rather than adding white: far shapes keep their outline and lose their darks first. Its density compounds — each stretch of air passes on the same fraction of the light behind it — so the falloff is gentle up close and steep past a certain distance. In a shader that is one expression, used to mix the surface toward the fog color: 1.0 - exp(-density * depth). Keep the horizon pale and the nearest pylon crisp, as in the reference frame.

Choose a marker to follow it back.

1Ambienttexta passage you read
  1. In the answersentence 1, characters 0–136
  2. Rests onsha256:27adc829…20c8
  3. Exactlycharacters 1,255–1,276
  4. Fromthread 857299ac…4645 — yours, contributed with consent

Distance is not painted in white. It is painted by taking the darks away — the far hill keeps its outline and loses its shadows, one layer of air at a time.

Read in Reader · 09:14

A citation that stops at a web page is a reference. One that resolves to a span, a passage, a Thread and a person who agreed to share it is an account — and an account is something people can be credited from.

The correct way, in five commitments

  1. 01

    On the machine first

    Threads live on their owners’ machines, and Plato recollects there. A personal AI should not need a server in order to know you.

  2. 02

    Consent before aggregation

    Nothing enters RaoLM’s corpus unless the person it came from chose to contribute it. What was not given is not generalized.

  3. 03

    The address travels with the words

    From the moment it is written to the last step of training, every partition keeps the content address it was born with.

  4. 04

    Citation is architecture

    RaoLM cites as it generates. Attribution is part of the model, not a search run afterward and stapled to the answer.

  5. 05

    Personal and general stay apart

    Plato’s picture of you is used in context, on your machine. RaoLM learns only from what was contributed.

In brief

Ambient
Reads and listens alongside you on macOS. Contributes text — pure knowledge.
Craft
Writes code with you, entirely on your Mac. Contributes code.
Veil
Describes the images you make, tile by tile, so a language model can understand them. Contributes visuals, as words.
Thread
Your memory node, on your machine: partitions embedded to 1,024 dimensions, product-quantized, folded into an entity graph, each named by the SHA-256 of its content.
Plato
On-device recollection. At the moment you ask, it brings the relevant parts of your Thread and a profile learned from your daily patterns into context.
RaoLM
The general model — a language model, not an image generator. Pretrained on Threads contributed with consent, and built to cite its training data down to the span and the Thread it came from.