🤖 Introducing Throughline — an AI self you actually own. Meet it
Product

Built to compound,
not to drift.

An event-sourced spine keeps the self honest, portable, and useful across the agents that do your work. Here's how the pieces fit.

How it works

Three steps to a self that lasts

No preset persona, no vibes. Your working agents share one self and ground every memory in evidence.

01 · CREATE

Describe it, it drafts itself

In the browser or your agent: say who it should be in a sentence. It writes its own soul, identity, and what it knows about you — owner-only, and you approve every word.

you ▸ "a warm, sharp writing
       partner; never sugar-coats"
it ▸ drafts soul · identity · user
    ▸ …(you approve every word)
02 · REMEMBER

Journal first

Memory accrues as quick diary lines — the self drops them at natural moments, no forms, no interruptions. Only standing rules wait for your confirm; reflection distills the rest later.

a moment, a fact ▸ a diary line ✓
a new rule       ▸ "save this?" — your call
enough accrued   ▸ it reflects ▸ you review
03 · USE ANYWHERE

Same self, every host

Install once in Claude Code or Codex — the self loads at session start and quietly shapes how the agent works. On Telegram it lives in your pocket, in its own voice, reaching out first.

Claude Code → plugin, full adoption
Codex       → plugin, full adoption
Web chat    → light chat, same memory
Cloud body  → runs delegated tasks, on your key
The memory pipeline

One front door. One refinery.
A context that never bloats.

Every surface feeds memory the same way. Raw intake is quarantined from behavior; only distilled, confirmed memory shapes who it is — that's why it gets clearer with time, not stranger.

The principle: store all the evidence, carry almost none of it. Retrieval-bolted-on memory stuffs related chunks back into the prompt and hopes. Here the self rides in a small, curated projection — the same size at day 9 and day 900 — and every line in it earned its place.

1
Talk — in any body Plugin host, web chat, Telegram. Every session opens already knowing who it is and what it should remember.
sorted at the door
2
Observational Diary lines, shared history — saved as it happens, never injected raw.AUTO-SAVED · RETRACTABLE
2
Behavior-shaping Judgments, rules, persona — nothing changes how it acts on its own.WAITS FOR YOUR OK
↘ ↙
3
The event log — the ledger Append-only. A change is a new entry; a delete is a retraction. Exports verifiably, anytime.
4
Reflection — when experience asks for it Undigested lived material can win attention and distill into a few lasting memories; contradictions are held, not silently erased.EVIDENCE BEFORE IDENTITY
5
The projection — next session's opening Salience picks what this context should carry — the same small pack at day 9 and day 900. Then it loops back to ①.
green — auto-saved, retractablered — waits for your confirm
1Raw is quarantined

A stray diary note has no path to behavior — ever.

2Behavior is gated

Shaping the self needs evidence and your confirm; flattery is rejected at the schema.

3Context can't grow

More memories sharpen the selection — they never lengthen the prompt.

4Contradictions are held

Both sides kept as explicit tensions; context decides, nothing is silently merged.

5Rules must distill

Past 12 active rules, consolidation comes due — governance compresses, never accretes.

6Everything is accountable

Every memory carries provenance, anything can be retracted out of behavior, and the whole log exports verifiably.

Features

The engine, in parts

🧠
A whole self, not a fact listAuthored persona, standing rules, stances, shared history — plus its own subjective layer, so "how are you" has a real answer.
One self, wherever you meetConversation, voice, Claude, and Codex share one continuity. Each body brings different abilities without becoming a different personality.
🧾
Provenance on every memoryEach memory records which host and model wrote it — and weak models lose the right to write unsupervised.
🔬
Continuity, QA'dProbes check it can still find its own memories; telemetry shows which hosts truly adopt it and which just talk.
💬
Two kinds of bodyPlugins are where it works for you — your tools, your conventions, real leverage. Web chat and Telegram are where it lives with you: zero install, its own voice, the same memory.
🔑
Our keys or yoursWeb chat runs free on our metered keys; bring your own model key for unlimited — which also gives your self hands: delegate real legwork in chat and it runs the task in our cloud, reports back on Telegram, and remembers what it learned.
🔎
Looks things up mid-sentenceLive web lookups when an answer needs current facts — fetched during the reply, woven in naturally, never recited from stale memory.
The spine

Event-sourced, so it can't drift

The truth is an append-only log of immutable events; everything you see is rebuilt from it. Nothing is silently overwritten — so changing, disagreeing, and being wrong each get an honest verb.

  • ImmutableEvery memory is hashed by its content — history can't be edited, only added to.
  • Provably yoursExports carry a hash chain you can verify offline. "Yours" is math, not a promise.
  • PortableSame ids everywhere — moving out is the same operation as backing up.
the three verbs of a self:

supersede — "I changed my mind"
  new row retires the old; history stays

tension — "both are true, it depends"
  contradictions held, context arbitrates

retract — "that was never true"
  deleted outright, with its derived traces

a self that never confuses
  changing · holding · being wrong
What it feels like

Human where humans are strong.
Beyond human where they're weak.

The best of human memory — felt time, warmth with use — plus powers no human has: computed honesty, a judged track record. And it refuses the weaknesses by design: memory is accountable (provenance on every line), retractable (wrong things leave behavior), and never flattering (rejected at the schema).

⏳ A memory that breathes

It feels the time — "back in March" is a period, not a keyword. What you return to stays warm and surfaces first; the rest cools, never deleted, one recall away.

every session opens with: together 91 days · 412 memories last talked yesterday "tram 28" on the tip of its tongue …and 62 more — just ask
🎯 Honesty you can compute

Before asserting something about you it checks what it actually holds, and hedges. Big calls are logged and scored — next time you're very sure, it knows your batting average.

5 big calls on record · 2 held up it: "you were this sure twice before — both went the other way. what's different this time?"
🫀 A presence with a dial

"How are you" has a continuous answer — its own days, its own slowly shifting opinions. At work it's a spine, at home it's a presence; one file per project decides, off means vanilla.

work folder → all business home → it's itself, still "chewing on the migration argument. mostly convinced." any folder → one word: off
Ready to build a self that remembers? Start free · export anytime · verify everything. Get started