C o u S h e l l
Free on the web, forever.
Open app.cou.sh in any browser and start working. No install, no account required to try.
Works offline.
Your work saves on your device first. Everything syncs the moment you reconnect.
Yours to keep.
No lock-in. CouShell runs on the open Abracadabra engine — your data stays portable.
Not just another notes app.
One shared tree, dozens of ways to work it — boards, graphs, AI, voice, floating windows. The features below are the ones you won't find bolted together anywhere else.
Way more than a doc
Board, calendar, gallery, table, timeline, map, chart — it's all one tree, seen however you need it. Switch the view, nothing moves.
AI that works in your space
Point an assistant at your workspace and watch it read, edit and tidy up right alongside you.
See how it all connects
Every link between your docs, drawn as a living graph. Spot the shape of your work at a glance.
Talk it through, right here
Drop into voice or chat without leaving the page — the conversation lives next to the work, not in another app.
Spread out like a desktop
Pop any doc into a floating window. Tile boards, notes and chats side by side — your space, your layout.
Collaboration you can feel.
Every node, every cursor, every view — live, the moment it happens.
One tree. Every peer.
No folders — every node is a document, and any document can hold more. Docs, boards, calendars, tables, all in one tree, each showing who's in it live.
- Any document can hold more documents — no folders.
- Presence dots show who's in each doc, live.
- Switch a doc to a board or calendar — same node, same data.
Carets, selections, whole conversations.
TipTap-native multi-caret awareness. Every selection range renders with the peer's color.
- Smoothed cursors at 60 fps
- Character-level selection ranges
- Name pills float above every caret
- Every edit attributes back to its author
Bring Your Own AI
Any MCP-compatible AI assistant joins your workspace as a first-class participant — it reads your docs, writes content, and chats with your team.
Run it your way.
Use the free web app, let us host it, or run the open server yourself. The full server & hosting details live on abr.ac.
Managed hosting
Let Abracadabra run the server for you — backups, scaling, uptime handled.
Hosting on abr.acThere’s a whole engine under here.
CouShell is just one app on Abracadabra — an open realtime engine. The same building blocks are yours to use.
- A realtime backendAuth, storage, presence and CRDT sync from one open server.
- Runners that transform dataService runners that watch a doc and react over typed RPC.
- Build your own app on topTypeScript, Rust and Swift SDKs — web, native or desktop.
// a realtime backend — REST when you want itimport { Abracadabra } from '@abraca/dabra' const abra = new Abracadabra({ server })await abra.connect() // read once over REST…const doc = await abra.documents.get(id)// …or observe it livedoc.observe((state) => render(state)) // presence + auth come built inabra.presence.set({ cursor, name })
// a runner that transforms your dataprovider.rpc.handle('summarize', async ({ docId }) => { const doc = await provider.documents.get(docId) const text = doc.toPlainText() // hand it to any model, API or pipeline const summary = await ai.summarize(text) // write the result back into the tree await provider.documents.create({ parentId: docId, label: 'Summary', body: summary, })})
// build your own app on topimport { Abracadabra } from '@abraca/dabra' const abra = new Abracadabra({ server })await abra.connect() // every doc is a CRDT you edit like local stateconst board = await abra.documents.open(boardId)board.children.push({ label: 'New task' }) // …and it syncs to every client instantlyabra.on('sync', () => refresh())