Adi
← Thoughts

Teams don’t have a code problem anymore. They have a coordination problem.

2026-04-20

The bottleneck changed

A few years ago, the bottleneck was writing code.

Now code is faster.

Trying things is faster.

Parallel work is faster.

That sounds like pure speed.

It isn’t.

Because as execution gets cheaper, coordination gets more expensive.

That is the shift I keep seeing.

The slowdown is no longer just “can we build this?”

It is

What already got tried?

What did we decide?

Why did we decide it?

What is still unresolved?

Who is waiting on what next?

That is where teams lose time now.

The new failure mode

2 humans.

3 agents.

1 repo

One agent fixes something.

Another starts from stale context.

A reviewer sees the code, but not the reasoning behind it.

The next session repeats work that already happened.

Nobody is blocked on typing.

They are blocked on reconstructing context.

And that happens constantly.

“Didn’t we already solve this?”

“Why did we choose this approach?”

“Was this intentional or just a quick patch?”

“Who was supposed to pick this up next?”

That is the drag.

Not code generation.

Not raw execution.

Context reconstruction.

Why Git is not enough

Git is still one of the best tools we have.

But Git solves a narrower problem than the one teams are now running into.

Git remembers what changed.

It does not reliably preserve why.

You can inspect the diff.

You can inspect the commit.

You can inspect the history.

What you usually cannot recover quickly is the reasoning around the change:

why this path won

what alternatives were considered

what uncertainty remained

what was meant to happen next

That context exists for a moment.

Then it disappears into chat, PR comments, docs, or somebody’s head.

So every new session starts with archaeology.

AI makes this worse

AI is very good at accelerating execution.

It helps teams write, test, and iterate faster.

What it does not do on its own is preserve shared understanding.

It does not create durable project memory.

It does not guarantee that the next human or agent inherits the right context.

It does not turn local decisions into team continuity.

So teams get more output, but not always more momentum.

That is the trap.

It feels like work is moving fast.

But the gains get eaten by repeated context loss.

More code.

More attempts.

More changes.

And then the same questions again.

The real question now

For a long time, the main question was

How do we write code faster?

I think the better question now is

How do we preserve context well enough that the next session can actually continue?

How do we keep decisions, handoffs, rationale, and unresolved questions attached to the work?

How do we stop rebuilding shared understanding from fragments?

That is the problem we built Watercooler around.

What Watercooler is for

Watercooler is our attempt to keep shared project memory with the repository:

decisions

handoffs

thread history

the reasoning that usually gets lost between sessions

The idea is simple.

When the next human or agent shows up, they should be able to continue from the real state of the work.

Not from guesswork.

Not from archaeology.

Not from whatever someone happens to remember.

If your team is already working across multiple humans, multiple agents, and one codebase, this problem is already here.

Repo: https://github.com/mostlyharmless-ai/watercooler

Website: https://www.watercoolerdev.com/