SignalOps

The thing a manager reads instead of scrolling.

Open beta signalops.one

A decision gets made in a thread on a Tuesday. Nobody files it. Three weeks later two people are building against opposite assumptions, and the only record that it ever happened is forty messages deep in a channel that has moved on.

SignalOps reads the places where work is actually discussed and produces the short document nobody has time to write: what was decided, what someone committed to, what is at risk, and which questions were asked and never answered. Every line traces back to the message it came from.

The screenshots are the real product, from a local instance seeded with an invented company — no customer workspace appears anywhere on this page.

The SignalOps signals screen showing extracted risks and gaps with severity badges and source messages
The triage surface. Each card is one extracted thing: what kind, how severe, when it happened, when it was detected, and the Slack message it came from.

Four kinds of thing, and nothing else

SignalOps does not summarise. It extracts five categories — decision, action, risk, question and gap — and refuses to produce anything else. The narrowness is the product: a tool that summarises everything hands you a second thing to read, while one that extracts five things hands you something to act on.

Each item carries a severity and a confidence, and can be filtered by kind, by owner, or arranged on a priority matrix. The default view is not "everything" but needs you, because a list that opens on 400 items is a list nobody opens twice.

An item has an identity that survives runs
Every extracted thing gets a canonical key, so the same risk found in three different weekly runs is one item seen three times rather than three items. That is what the RECURRING badge counts, and what makes "this has come up on four separate days" a fact rather than an impression.
Regressions are a separate filter
An item that was resolved and came back is tracked distinctly from one that has simply persisted. They mean different things to a manager and would be invisible if both were just "open".
Every card links to its source
Each signal stores references to the exact messages it was derived from, resolved against an archive of everything ever read. A summary you cannot verify is one you stop trusting the first time it is subtly wrong.
Muting is a first-class state
A signal you have decided not to care about is muted rather than deleted, so the next run does not resurrect it as new — and the decision to ignore it stays visible instead of being repeated silently every week.
Export is not an afterthought
The same filtered list exports to JSON or CSV, because the answer to "our board wants this in a spreadsheet" should not be a screenshot.

Arithmetic first, model second

The obvious way to build this is to feed a month of messages to a language model and ask for a summary. It demos beautifully and it is unreliable in exactly the way that matters — quietly, on the details, in a way you only notice when you have acted on one.

So the work is split. A deterministic layer does the parts that are arithmetic: which messages are new since the last run, which thread belongs to which item, what is still open, what changed. Only then does a model pass run over the already linked signals, and its job is interpretation rather than bookkeeping.

The practical effect is that the counts are right even when an interpretation needs a second look — and a failed run cannot silently move the horizon and skip a week of history.

The SignalOps problem map ranking the top problems by impact, each with severity and how many analyses it has appeared in
Ranked by impact, not by date. "In 4 analyses" is the number that matters: this is the fourth time the same thing has come back.

A failure must never look like a quiet week

The dangerous failure for a tool like this is not an error message. It is a report that renders perfectly and is missing things. Somebody reads "no decisions this week" and believes it.

So the run accounting is explicit and visible to the customer rather than buried in a log. Every run is completed, failed, cancelled or otherwise accounted for; the totals have to add up; and a degraded run never advances the point in history the next run starts from. If something could not be read, the product says a run failed instead of presenting a thinner report as the truth.

The jobs screen exists for exactly the moment somebody suspects something is stuck: the stage a run reached, how long it queued, and the counters for how many calls it made.

The same problems, placed on a calendar

Signals are also linked to each other: this risk caused that commitment, this question was followed up by that decision, these two are the same thing said twice. The relationships are typed rather than a vague "related", so a chain can actually be read — and the map draws them as individual chains rather than as a network diagram nobody can parse.

Underneath, the same signals are laid out by date. That is what turns "we keep having alerting problems" into a row of dated cards you can point at in a meeting, and it is why the map is the screen people open when they have to explain a quarter to somebody who was not in the channels.

The SignalOps map timeline, placing decisions, risks, questions and gaps on a calendar
The timeline under the map. Every card is one extracted signal on the day it happened, coloured by what kind of thing it is.

Connecting a tool to a company's chat is a serious ask

It means the tool can see, in principle, everything the company says. That shapes the whole design: a connection is scoped to the channels you select rather than the workspace, access tokens are encrypted at rest, and each company is a hard scope boundary enforced in the database rather than by remembering to add a WHERE clause.

The legal surface — terms, privacy, sub-processors, refunds — is reachable without logging in, which is what a payments reviewer and a cautious buyer both need. The product is in open beta with no card required, which is the honest arrangement for something that has to be pointed at real conversations before anybody can tell whether it earns its place.

Who it is actually for

The person this is built for runs several workstreams they do not personally execute. A team lead with four engineers and two channels. A founder who is in every conversation and present in none of them. An agency account manager whose clients each have their own shared channel.

What they share is that the cost of missing something is high and the time to scroll for it is zero. They do not need a better search box, because searching requires already knowing what you are looking for — and the expensive misses are exactly the ones you did not know to look for.

It is less useful to a team of three sitting in one room, and useless if the real decisions happen somewhere the tool cannot read. That is worth saying plainly: a product that claims to suit everybody is describing nobody.

At a glance

Live at
signalops.one · app at app.signalops.one
Reads
Slack · Microsoft Teams · Discord · Jira · Linear
Extracts
Decisions · actions · risks · questions · gaps, each linked to its source message
Main screens
Signals · problem map · report · trends
Identity
A canonical key per item, so the same risk across runs is one thing seen many times
Approach
Deterministic tracking first, then one model pass over the linked signals
Stack
Next.js · Prisma · PostgreSQL · Claude API · Paddle
Languages
10
Price
Free open beta, no card

Questions people actually ask

Does it read every channel in our workspace?

No. Connections are scoped to the channels you select, and access tokens are stored encrypted.

How is this different from asking an AI to summarise a channel?

The bookkeeping — what is new, what belongs to what, what is still open — is done deterministically rather than by a model, so the counts are right even when an interpretation needs checking. The model reads the already-linked signals.

Can I check where a decision came from?

Yes, every extracted item links back to the message it was taken from. A summary you cannot verify is one you stop trusting the first time it is subtly wrong.

What does the beta cost?

Nothing, and it does not ask for a card. It has to be pointed at real history before anyone can judge whether it earns its place.

The other products