No dragging cards, no filling in forms. Say what happened and the board follows — every change recorded, announced where you asked for it, and one click from undone.
Invite only — Coast is used by a handful of small teams.
You don’t drag cards. You say what happened.
In the channel, or inside a task’s own thread. There is no syntax to learn — “move #3 to done” is a sentence, not a command.
One stated instruction becomes one recorded change. It translates; it never concludes. “Sounds like that’s done” does nothing — on purpose.
The board renders state, it never writes it. The confirmation lands where you typed, with Undo sitting next to it.
A full project manager. It just doesn’t have any forms.
Columns, order and contents all follow from chat — including “add a Testing column between Doing and Done”.
Every task and appointment has its own conversation. Inside it, “move it to done” resolves without naming anything.
A private, read-only chat for questions about state. It cannot change anything, so it needs none of the guardrails.
Shipped, raised, in flight, stuck, overdue, urgent — across every project, with no model call at all.
The things you asked for, and whether they shipped. For whoever promised a customer a fix and heard nothing back.
Standing jobs — a morning digest, a nudge on anything gone quiet. They post on a schedule and never touch a task.
What is in the way of what. Moving a blocked task still works; it just says so. Closing a blocker tells everyone waiting.
One search across messages, tasks and appointments. Drop a screenshot in a thread. Log a session against a ticket by saying so.
Ask a question. Check the answer.
Ask is a private chat for questions about state — “how many bugs did we close last week?”. The model never produces the number. It turns your question into a query, and Postgres does the counting and the date maths. The matching rows come back with every answer and the query is shown underneath, so an answer can be checked rather than trusted.
How many bugs did we close last week?
7 bugs
closed between 1 and 7 September
How this was worked out
{
"entity": "task",
"type": "bug",
"event": "closed",
"from": "2026-09-01",
"to": "2026-09-07"
}And when nobody has asked.
Pulse is the same machinery with nothing left to guess: six fixed queries across every project — shipped, raised, in flight, stuck, overdue, urgent. No model call, so there is nothing to distrust and nothing to pay for. “Stuck” isn’t a field anyone sets; it falls out of the log, which is the only thing that knows when a task last actually moved.
12
shipped
9
raised
6
in flight
3
stuck
2
overdue
1
urgent
A board people can’t trust is worse than no board.
So the model is given the smallest job in the system: turning a sentence you typed into a change you asked for. Everything else is ordinary code.
Every change goes through chat. There is no drag, and no form to disagree with the log.
“Sounds like auth is finished” does nothing. Coast acts on what you state, never on what it infers from a conversation.
The change, the audit row and the confirmation are written in one transaction, so a mistake is reverted rather than argued about.
Messages can’t be edited. A recorded change is permanent, and every confirmation says who made it.
A digest, a nudge on anything gone quiet. They read and they post. Nothing scheduled can move a task on your behalf.
The board will follow.
Invite only — Coast is used by a handful of small teams.