Team chat that
holds the why.

Channels, threads, and DMs, with a memory underneath. The decisions you make and the reasons behind them stay attached to the conversation, so they're still there when the question comes up again.

Join the waitlist / early 2026
#api-v3 / Friday · 5 messages
MR
Maya Reyes Friday 14:03
Picking the auth refactor back up next sprint. Anyone remember why we paused it in March?
JL
Jordan Lee Friday 14:04
I'm pretty sure there were open concerns but I can't find the thread.
AP
Alex Park Friday 14:05
@ariadne do you know?
Ariadne is working…
of 5 steps
Session complete
5 steps · 3.7s
14:05
Ariadne Friday 14:05
You held the refactor for Jordan's review of the token-rotation model. Their concern from Mar 12:
JL
Jordan Lee
Mar 12 · 11:42
"Hold on, I'm not comfortable changing the auth boundary without working through the token-rotation flow first. Can we pause this until I've reviewed the design?"
Original thread in #api-v3.
👍3 🙏2 💡1
Select text to format
Enter to send · Shift+Enter for new line

Conversation becomes memory.

Threa reads the conversation, finds the part where a decision gets made, and keeps it as a short memo that links back to the messages it came from. When the topic returns, so does the memo.

01 / Capture

Finding the decision

Most of a channel is noise. The part worth keeping is usually a handful of lines where something actually gets settled.

SP
Sam Patel Mar 12 · 11:38
Lunch order: pasta or pizza, last call.
JL
Jordan Lee Mar 12 · 11:42
Hold on, I'm not comfortable changing the auth boundary without working through the token-rotation flow first. Can we pause this until I've reviewed the design?
MR
Maya Reyes Mar 12 · 11:44
Fair. Let's hold v3 then. What do you need from us before sign-off?
JL
Jordan Lee Mar 12 · 11:46
A walkthrough of the rotation flow + how existing sessions migrate. I'll block out time the week of the 18th.
SP
Sam Patel Mar 12 · 11:47
Pizza it is, ordering now.
02 / Hold

Keeping it as a memo

Nobody rereads a transcript two months later. A short, sourced memo is the part that stays useful once the thread has scrolled away.

Decision · Mar 12
Auth refactor held pending token-rotation review.
Why
Jordan asked to pause the v3 auth boundary until the rotation flow has been walked through. The concern was migrating existing sessions without a forced re-auth wave.
Next
Design walkthrough with Jordan, week of Apr 18.
Source
3 messages · #api-v3 · Jordan Lee · Maya Reyes
03 / Return

When it comes up again

A reason you can't find isn't worth much. The memo has to show up on its own when the question returns, without anyone remembering to go looking.

#sprint-planning / May 7 · two months later
MR
Maya Reyes May 7 · 09:12
@ariadne we're picking auth back up this sprint. What was the hold on again?
Ariadne May 7 · 09:12
You paused v3 in March pending Jordan's review of the rotation flow. Wei flagged a related mobile-session concern in April that didn't make the original hold. Worth folding in before the walkthrough.
decision#api-v3
Auth refactor held pending token-rotation review
Mar 12
context#mobile-platform
Session migration needs device-bound refresh handling
Apr 02
$git clone github.com/threahq/threa.git $cd threa && bun install $bun run dev → http://localhost:5173 # your machine. your data.
patch.mddescribe the change →
# Compact density toggle Add a "Compact" option under Settings → Appearance. - add a `density` pref: comfortable | compact - compact tightens message-row padding and line-height - persist per-device; default to comfortable - apply it in the timeline, threads, and scratchpads
$claude -p "$(cat patch.md)"

The whole thing is open source.

Source for the frontend, backend, and control-plane is all public. Read exactly how it works and fork it if you want your own version. The repo you're reading is the one we ship.

Public source

Frontend, backend, control-plane, and infrastructure, all on GitHub. The wrong turns and the design explorations are in there too.

Yours to fork

Fork it and make it yours. Add the feature you want instead of waiting for us to ship it, on the same code we run.

Encrypted where it counts

Most conversations stay readable to Threa, which is what lets it build memory from them. Turn on end-to-end encryption for the sensitive ones and Threa keeps only ciphertext; those conversations don't become memos.

Built in the open

Roadmap, design notes, and decisions are public too, not just the finished code.

Browse the source

Bring the agent you already use.

Threa ships with Ariadne, useful from day one. But you've probably already got an agent set up the way you like it. Threa is built to sit inside the stack you have, so there's an open API with scoped keys over your workspace. Wire up Claude, Cursor, or your own setup and point it at the same memory Ariadne reads.

Readable over the API

Your memos come back as JSON and your messages as markdown through a public read API. What you put in, you can pull back out programmatically.

Agent-agnostic

An open read API over your workspace. Whatever agent you point at it sees the same memory Ariadne does, with the same source links and timestamps.

Private to you

We don't train on your data or sell it. AI features send your messages to an inference provider under a no-retention contract; the conversations you encrypt stay opaque even to us.

Read the data docs
Ariadne is here to get you started. The agent you rely on should be your own, with your work reachable from it instead of locked inside one more app.
Bring your own

What I wished other tools had.

Partly I built Threa out of spite. Years of watching decisions disappear into channels, plus a short list of things I wanted from a chat app and never got. So I added them.

Building Threa in the open.

Workplace chat that remembers.
Get on the list.

/ early 2026 · no spam