sandarb

sandarb · sandarbh — context

Think in branches, not in scroll.

Every answer is a card on an infinite canvas. Any card branches, and nothing you explore destroys what you already had. The canvas below is real — ask it something.

Untitled canvas Sandbox · canned replies, no model attached Open in sandarb
2 cards · 1 strand

Nothing you type here is saved or sent anywhere. While you are at it, try selecting any sentence on this page.

Nothing is thrown away
Ask for a different answer and the one you had stays, at ‹ 1/2 ›, until you delete it yourself.
The source sits on the canvas
Drop in a book or a transcript and each page is a card you can question in place, not a file you switch to.
Your work leaves whole
It lives on your machine, and leaves as a file you can load straight back in, a markdown outline, or an Anki deck.

How it works

Three moves, and the map is doing the remembering.

Nothing to configure first. Open a canvas and ask something.

  1. Ask, and the answer is a card.

    Not a line in a transcript — something you can move, branch from and come back to, with every earlier answer still on it.

    For example“Explain the forgetting curve.”

  2. Branch where it gets interesting.

    Select the sentence you doubt and start typing. The passage travels with your question, and the tangent gets its own limb instead of burying the main line.

    For exampleselect “at the edge of forgetting” → “Is that measurable?”

  3. Put the source beside it.

    Drop the PDF, paste the transcript, or write by hand. The book lays itself out as a column you can argue with page by page.

    For examplechapter 4 of the book, pages 61–78, one card each

What it does

A chat is one thread. Learning is not.

Same six questions. Two shapes.

A transcript buried
NOW ↑ Q1
A canvas all six visible
NOTHING SCROLLED AWAY
Branching

Ask your next question on the card itself.

Every card has a box along the bottom. Type, press Enter, and the answer arrives underneath. Try it — each button adds a real branch.

  • Select a passage, start typing — it comes along as a quote
  • ⌘-click several cards and ask one question across all of them
  • Pick a purpose and it starts the question for you
AI Recall works by retrieval, not re-reading. AI DEFINITION The forgetting curve it exploits AI OBJECTION Says little about understanding AI EXAMPLE A deck at three day intervals

Documents

Drop a book on the canvas and argue with it.

Each page becomes a card showing the page itself. Pick a range on import — a chapter, not the whole volume.

  • Annotate as much as you like — page 5 stays directly under page 4
  • Text you can select and quote, even from awkward typesetting
  • Import the same book twice and you get one copy, not two
PAGE 11 PAGE 12 PAGE 13 AI Discuss this page
Versions

Ask for a better answer, keep the one you had.

Say what you want changed — shorter, one concrete example — and the old answer stays behind an arrow. Step through them:

  • Change the question and the answer you already had stays
  • Leave a note on a version without asking again
  • Pull one card into three places — edit it once, all three change
AI 1 / 3

Old versions stay until you delete them. ← → on the keyboard.

Reading the map

The same map, three readings.

Prompts can be cards, chips on the connector, or gone entirely. Toggle with P — and P works right here, on this page.

YOU Why does interleaving help? AI YOU Give me a counter-example.

Also in the box

Everything a long enquiry accumulates.

Mark a passage anywhere

Highlight, comment or tag any selection. Pick a tag and everything untagged dims, turning a sprawling canvas back into one line of enquiry.

A card you write on

Real pressure, real strokes. On iPad the Pencil writes and the hand navigates — a resting palm never leaves a mark.

Ask a video a question

A talk becomes a column of transcript you can question in place, with the player running beside it.

Read any path back as a chat

Pick a card and the route to it reads as an ordinary conversation, in order. Copy the whole thing out as markdown.

One input, no fields

? front :: back drafts an Anki card. . slept badly logs a check-in. Everything exports.

Fold away what you're done with

Collapse a branch and it becomes one card with a count on it. The minimap gets you back across a canvas too big to see.

Ten kinds of card, told apart at a glance

AI an exchange with the model Source pasted material Note your own words Page a PDF page Video a transcript segment Card an Anki draft Log a dated check-in Ink handwriting Web a fetched page Ref the same card, in a second place

Who it's for

Four enquiries that a scroll would have flattened.

Reading a hard paper

Four questions hang off page 4 — and page 5 is still directly below page 4.

Studying for something

Highlight, tag, and let the tags become an outline or an Anki deck.

Taking a talk apart

Ask about the two minutes that lost you, and the answer attaches there.

Thinking a decision through

Two answers to one question, kept side by side instead of one overwriting the other.

The model

You never hand it an API key.

There is no key field to fill in, because your key never goes near the app. It stays in whatever endpoint you point sandarb at — one you run, or one your team already runs — and that endpoint decides who is allowed to spend it.

Any OpenAI-compatible URL will do. Answers stream in with a Stop button, and if something goes wrong it says so on the card instead of leaving you at a dead end.

# the default endpoint. The key stays here
OPENAI_API_KEY=sk-… node tools/openai-proxy.mjs
 
# or an existing Claude Code sign-in, no key
node claude-bridge.mjs
 
# or canned streaming, no network at all
node tools/mock-provider.mjs

Interaction

Hands stay on the keyboard.

The whole app works without a mouse, and you can always see where you are.

NNew strand
BBranch from selection
DDraw
←→Previous / next version
AArrange
0Fit to screen
PCycle prompt visibility
LLibrary
\Thread
⌘SExport JSON
⌫Delete card and subtree
EscClose whatever is open

Access

Invite-only, for now.

Sandarb is a working prototype. Send the address you would sign in with and it goes on the list.

Ask for an invite

Nothing to install, nothing to set up, no password to invent — you get in with the address itself.

Already on the list? Sign in.

Questions

The things worth knowing before you start.

Do I need an API key?

Not one you paste anywhere. Your key stays in whichever endpoint you point sandarb at — the hosted one, a proxy on your own machine, or an existing Claude Code sign-in, which needs no key at all.

Where does my work live?

On your own machine, in the browser you are using — not on a server of ours. You can take the whole canvas out as a file and load it straight back in, or as a markdown outline, or as an Anki deck.

Which models can it talk to?

Any OpenAI-compatible endpoint, so most of them. You set the model name and how hard it should think; there is also a bridge that runs on an existing Claude Code sign-in, and an offline stand-in for working on a train.

Does it work on an iPad?

Yes, in Safari — nothing to install. The Pencil writes and your hand navigates, so you can rest a palm on the screen and pan with a finger without leaving a mark. Worth saying: this has been checked in a browser, not yet on a real iPad, so pen feel may need work.

What happens to an imported book?

You choose a page range, because every page becomes its own card and a whole 900-page book would lay 900 of them down the canvas. Import the same file again later and you get the same document back, not a second copy of it.

Is it finished?

No. It is a working prototype, and everything described on this page works today — but it is one person's tool that other people are now trying, so expect rough edges and expect them to get fixed. Nothing you make in it is trapped: it all exports.

Start one question and let it grow.

Ask something, branch where it gets interesting, drop the book in beside it. Come back a week later and the shape of what you were thinking is still there.