Perspectives
a16z mapped the agent economy. We’re the part that knows you.
a16z’s map of the agent economy puts Rollup in its memory layer. Here’s what building that layer from people’s photos has taught us about what agents should know.
On November 10, a16z partners Olivia Moore and Justine Moore published Welcome to the B2A Economy, the first in a series on what happens when AI agents become the internet’s main users. It came with a map of the companies building for that shift. Rollup is on it, in the infrastructure half, under Memory & Personalization.
a16z@a16zThe primary users of the Internet are no longer human. They’re AI agents.
As agents move from answering questions to completing tasks, they’ll increasingly decide which products to use, which services to subscribe to, and where to spend money on our behalf.
a16z’s Olivia Moore

Olivia Moore@omooretweetsNov 11Move over, B2B and B2C - the B2A economy is hereAgents are the primary users of the Internet, and soon will be the primary customers for every productOur thesis @a16z on the massive opportunity here 👇 (cc @venturetwins)Read more on XWe’re grateful to be included, and we think the placement is right. An agent that acts for a person has to know that person, and that knowledge is part of the infrastructure agents run on.
Why the map has a memory row
The thesis is that agents will soon decide “which products to use, which services to subscribe to, and where to spend money on our behalf.” The authors expect agents to be an even stronger referral source than websites “as they have deep and specific data on the user and their needs.” Justine Moore put the goal well in 2024, in Export Your Brain: “Imagine a new app that immediately understands who you are and what you care about.”
Both depend on the agent actually having the data. Someone has to supply it, and the companies in our row are working on how. We share it with mem0, Supermemory, Honcho, Zep, Cognee, Qloo and others.

Our part of the problem is the camera roll. Building context from people’s photos has taught us a few things about what makes personal context useful to an agent, and what makes it dangerous.
Memory should start before the first message
The usual way to give an agent memory is to have it remember what the person tells it. That works, and it gets better with use. It also means every new agent starts as a stranger, and the person does the work of introducing themselves again, app after app.
Self-description has a second problem. Asked what they like, people give the answer they’d like to be true, or the one that comes to mind first. What they actually do is a different kind of evidence, and people already keep a record of it. They photograph the places they go, the food they eat, the clothes they wear, the shows they see and the things they want to buy. A camera roll is one of the few places where that kind of understanding already exists on the first day.
The useful part is the pattern. A single photo from a climbing gym might be a friend’s birthday. The same gym every few weeks for a year is a hobby. Preferences also move, over time and from one kind of purchase to another. Trail photos from two summers ago say less about next weekend than a run of them from last month. Good personal context counts, dates and lets old patterns fade.
It should also show its work. For each field Rollup fills in a profile, it returns the photos behind it, so an app can tell whether a preference rests on one photo or forty, and so can the person.
Every photo exists for a reason
A camera roll mixes very different things: photos of what happened, screenshots of what someone wanted to remember, pictures taken for someone else. Reading them all the same way is the fastest route to a wrong conclusion.
| In the camera roll | What it suggests | What it leaves open |
|---|---|---|
| A photo of dinner at a restaurant | They went there | Whether they liked it |
| The same trail, many times over months | A real habit | Their size, budget or gear |
| A screenshot of a product | Interest, at that moment | Whether they still want it, or already bought it |
| A photo of a friend’s outfit at a wedding | An occasion they attended | Their own style |
| A photo taken from the street outside a shop | They passed by | That they went in |
Screenshots deserve special mention. A photo records something that happened; a screenshot is often the closest thing a person has to a wish list. Both are useful, and they answer different questions.
When the photos don’t answer a question, the right output is a blank. For a chatbot, a wrong guess about the user is awkward. For an agent that books, buys or subscribes on their behalf, it costs money and trust. Rollup’s profile is built around that: in the words of our docs, a field “is null when the person’s life does not say, never a guess.” Some fields are never filled at all. Rollup does not fill fields about a person’s health, religion, sexuality, ethnicity or race, politics, or children, however clearly the photos might seem to suggest an answer.
An agent that receives a blank can ask. An agent that receives a guess will act on it. And even a right answer is only a reason to suggest something: a screenshot of a pair of shoes is a good reason to show similar shoes, and no reason at all to buy them. The authority to spend has to come from the person, through the payment and identity layers further down the same map.
Give agents only what the task needs
The tempting design is to hand an agent everything: the whole memory, every inference, as much context as fits. It makes the agent slower and noisier, and it exposes far more about the person than the task requires.
We went the other way. With Rollup, the app describes the context it wants as a JSON schema and gets back exactly those fields. A travel agent might ask for this:
{
"type": "object",
"properties": {
"trip_style": {
"type": "string",
"enum": ["beach", "city",
"outdoors", "mixed"]
},
"favorite_cuisines": {
"type": "array",
"items": { "type": "string" }
},
"recent_destinations": {
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
}That is the whole request. The agent learns three things relevant to planning a trip, each with its supporting photos, and nothing else. A schema is also something a person can read, which makes it easier to explain what an app is asking for and why. Our piece on cold-start personalization shows the same idea in an app’s first session.
The raw material stays with the person. With Rollup, photos, videos and the index stay on the iPhone, search runs on the device, and only the question or schema and the text derived for it go to Rollup and its AI provider when an app calls query or profile. Rollup does not store them. Hidden photos are never indexed, and if the person revokes Photos access, the index is deleted the next time the app runs. The privacy guide has the details.
And the person should decide where their context goes. If every agent builds its own memory, people end up with a dozen partial copies of themselves, none under their control. That is why we’re building Rollup Passport, an iPhone app in beta that learns what someone loves from their photos and lets them share it with Claude, ChatGPT and other AI apps, choosing what each one can see.
If you’re building an agent, or an app that should know its users from the first session, we’d like to hear what you would do with this context.
Sources
- a16z: Welcome to the B2A EconomyOlivia Moore and Justine Moore, November 10, 2026. The thesis, the four categories and the Apps and Infra maps.
- a16z on XNovember 11, 2026, quoting Olivia Moore’s post of the same day, with the combined map attached.
- a16z: Export Your Brain: How I Uploaded Myself to AIJustine Moore, October 10, 2024.
- Rollup docs: ProfileSchemas, evidence per field, null fields and the subjects Rollup does not fill.
- Rollup docs: Index optionsHidden photos are never indexed; limited access indexes only the selection.
- Rollup docs: Privacy and App ReviewWhat leaves the iPhone, deletion on revoked access, and the disclosure an app shows before the first query or profile call.
Next step
Building an agent or an app that should know its users from the first session? The profile guide shows how to ask for the context it needs, in the shape of your own schema.