Liminal  /  the thread local-first
Liminal · the thread

Liminal catches what you're about to drop.

You run your company across email, Slack, meetings, docs, notes, AI sessions and a calendar. The context that matters - what you promised, what was decided, what changed, what you're waiting on - is scattered across all of them and lives in none of them. Liminal reads those surfaces and keeps one receipted ledger: what you owe, what's owed to you, what changed, and what needs you next. Every line checkable to its source. Your data stays on your machine.

connect Gmail → open loops in ~5 min $40/mo · card on file new frame · proposed
Every cut runs on illustrative seeded data. A fictional founder's week. No accounts connected.
01 · the first artifact Open loops Connect Gmail + Calendar → the ranked list of what you're about to drop, each line with a receipt to the exact message. Dismiss a wrong one; it learns your line. open the cut → 02 · daily return The morning brief One screen, every morning: what changed overnight, what you owe today, what's at risk this week. Receipts on every line. open the cut → 03 · before the call Prep card Pick your next meeting → one card: last three touches, what's open between you, what you said you'd bring. open the cut → 04 · what do we know The thread Pick a person or deal → the whole receipted history, ending on the one move that's open and yours. open the cut → 05 · design system Component atlas The parts the thread is built from: loop row, receipt chip, brief band, prep card, timeline. Each composed from canonical tokens only. open the cut → 06 · on your data · real Your data Not seeded. Drop a real .mbox / .eml / .ics / text export → open loops computed in your browser, no upload, each receipt pointing at the exact line it matched. open the cut → 07 · say with care Told-them register What you've told people, and where it doesn't line up. Two receipted claims on one topic flagged side by side. Catch the contradiction before someone else does. open the cut → 08 · what needs you Insights Not just the list. What's moving underneath it: a stuck loop, a plan drifting from the calendar, a clock about to fire, three threads waiting on the same thing. With confidence + evidence. open the cut → 09 · learns your line Precision Every dismiss makes the next list sharper. The noise rate (how much you throw away) printed on the tin, falling week over week. open the cut → 10 · one story Prototype ↔ desktop Each public cut beside its shipping desktop surface (the operational-picture work). Same data model, same receipts. One vocabulary, one story; and the old-frame cuts that need migrating. open the cut → 11 · ask the thread · real Recall Ask a question about anyone in your week → ranked, receipted answers, matched terms highlighted. A real lexical search (recall.js) over the record, in your browser. open the cut → 12 · what you send Receipted update The weekly investor/team update, drafted from what actually moved. Closed / new / moved / stalled, every line receipted, anything unsupported flagged as a bracketed question. open the cut → 13 · first run Connect Zero ceremony: connect your surfaces → back-fill → "how many balls are you juggling?" → your first open loops. The whole pitch, in five minutes, on first run. open the cut → 14 · the record The event log Nothing overwritten. Every confirm / dismiss / edit / ingest is one append-only, hash-linked event, and the metrics are just queries over it. The local-first substrate, made visible. open the cut → 15 · chief of staff The team thread When the thread covers a team, loops gain a direction. Who owes what to whom, who's blocked waiting. The part of a chief of staff that never sleeps. open the cut →
Liminal · the thread| diffuse-context frame · LIMINAL_RECOVERY_PLAN_DIFFUSE_CONTEXT_2026-06-12 (proposed)| front door stays cut 01 until ratified| ↩ prototype catalog