Tools that turn public noise into structured signal — and hand it to an agent rather than to a dashboard nobody opens.
The pattern is the same every time: watch a set of sources continuously, score and attribute what comes back, notice when several independent sources say the same thing, and expose the result as data something else can query. Competitors are the first subject. They are not the only one that shape fits.
gledach/signals · see it live →
Competitive intelligence your agents can query.
Watches a market, turns public noise into scored and attributed signals, exposes them
over MCP — eight tools and signal:// resources, so Claude Code or any MCP client
can ask "what changed at the tools we track this week?" and get structured data back.
The dashboard is one client, not the product.
┌──────────────────────────┐ ┌────────────┐ ┌──────────────────────┐
│ ingest │──▶│ turso │──▶│ battlecards │
│ news · HN · reddit │ │ (libSQL) │ │ analyst briefs │
│ youtube · github │ └─────┬──────┘ │ convergence alerts │
│ certs · sitemaps │ │ └──────────────────────┘
│ trends · search · email │ ▼
└──────────────────────────┘ ┌───────────┐ ┌──────────────────────┐
│ analyst │ │ MCP surface │
│ /scan │ │ 8 tools · 30 res. │
│ /deep │ │ read-only by │
│ /gap │ │ default │
└───────────┘ └──────────────────────┘
The unit that matters is a convergence — not a mention. One correlated pattern that several independent publishers corroborate, scored from its own evidence, with the rule that fired it stated inline. Ten raw mentions of the same press release are one event.
13 AI coding agents + app builders tracked, across two segments
13 signal sources, from RSS to certificate-transparency logs
2,600+ signals in turso
8 MCP tools · read-only until you say otherwise
3 runtime dependencies · no build step · clone and run offline
Clone it, run npm run db:migrate, and you get a populated dashboard with no account
and no API key. Point it at your own market by editing one gitignored file.
runtime · Node.js, zero-dep bias — three runtime dependencies, no build step
ai · Claude via OpenRouter · Haiku triage · Sonnet synthesis · Opus depth · BYOK
data · Turso · libSQL · SQLite · markdown-in-git
agents · MCP over stdio · read-only by default · spend ceiling shared with cron
ux · dense, Linear-inspired dashboards · Playwright visual checks
local-first. the laptop is the runtime. cloud is for sharing state.
convergence over alerts. one correlated insight beats ten raw mentions.
signal over polish. output quality before dashboard aesthetics — but both.
say what you cannot see. every tool ships an honest audit of its own blind spots.
read-only until asked. an agent does not spend your money because it found a button.
idempotent retry, not dual-write. retry until it sticks; never split the source of truth.