Early access — free while we're in testing, pricing not decided yet

MULTIPLE SOURCES. ONE LOG.

Every source drains
into one log.

Commits, incidents, decisions, and AI summaries — everything that happens on a project, in one running log. Offline-first, synced everywhere.

Start loggingSee how it works
api-service

GitHubmerged fix/auth-refresh-race (#482)

Paged in @dana— redis latency spike, mitigated by scaling the read replica.

AI Summary

Shipped the auth fix, resolved the redis incident, kept the read-replica scaling policy from today's page.

Click to start typing…

FEATURES

Nothing to configure.
Nothing to lose.

AI Summary

AI that edits, not replaces

Summarize a busy day into one entry, or refine grammar and tone without losing your own words.

Paged in@dana— see[[ incidents ]]for context.

Mentions and references, inline

@mention a teammate, [[ link another drain or entry, or leave a comment anchored to the text.

synced offline — 3 pending

Offline-first, synced everywhere

Keep writing with no connection. Every device sees every entry the moment you're back online.

Members only

Private by default

Each drain is its own database with its own membership rules — only the people you invite can read or write it, enforced by the database, not just the app.

FOR AGENTS

A knowledge base your agents actually have.

Connect Claude Code, or any MCP-compatible agent, directly to a drain. It queries the log for context before it starts — why a decision was made, what broke last time — and writes its own entries as it works, attributed and in the same timeline as everything a person typed. One durable memory, shared by every agent you run.

claude_desktop_config.json
{
  "mcpServers": {
    "drains": {
      "command": "npx",
      "args": ["-y", "github:drains-dev/mcp"]
    }
  }
}

queriedwhy was dynamo replaced with postgres for orders?

via mcpbumped retry backoff on the sync client, logged why

USE CASES

However you ship.

Side project

Just me

Solo builder

A personal engineering journal — why you built it that way, searchable months later.

paged 02:14mitigated 02:26resolved 03:02

On-call & SRE

Log pages and mitigations as they happen, next to your GitHub pushes and PRs — a clean handoff at the end of a shift.

DRMShared

Small teams

One drain per project — replaces the scattered Slack thread nobody can find later.

drains.dev/p/8fq2m

Build in public

Publish a read-only share link — a running changelog people can actually follow.

HOW IT WORKS

Three steps to a better log.

01

Create an identity

Your name and email. It becomes a deterministic color and ID that follows you everywhere.

02

Open a drain

One per project, incident, or team. Keep it private, share a link with collaborators, or publish it read-only.

03

Start typing

Every line is its own entry, saved as you type it. GitHub activity and agent updates show up in the same place.

getting started
01
Ada Lovelace
ada@example.com
02
+ New drain
Private
Shared
03
Deployed API v2.3.1

Stop losing context.

Your next incident review will thank you. Start logging in seconds — no configuration.

Free while we're in testing — we haven't decided on pricing yet.