Blind Spot · built Oct 17, 2026
How we built it, and what we decided.
AI wrote most of our code today. It did not decide what Blind Spot is for, who it helps, or what it must never do. These are the calls we made, in the order we made them.
Why we built it
Why we built it
When everyone asks the same model, everyone gets the same answer.
Microsoft Research found that generative AI narrows the range of ideas knowledge workers produce. Read the research
The judgment log
Seven calls the AI couldn't make for us.
The one rule
The AI never writes an idea.
AI proposed / built
Language models are built to be helpful, so the first drafts of every prompt slid into suggestions: "you could try…", "what about a…".
We decided
We built a separate checker (a regex blocklist plus an LLM judge, with a template fallback) that rejects any question containing a suggestion before it reaches the board.
Why: The moment the AI generates content, the thesis collapses: it becomes one more machine narrowing everyone toward the same answer.
Lenses over clusters
Gaps you can name.
AI proposed / built
The default playbook: embed the ideas, project them with UMAP, and show clusters on a plot.
We decided
Map every idea onto named bipolar lenses picked for the problem, like incremental ↔ radical.
Why: An empty patch of a UMAP plot can't be named. An axis can. So the gap becomes a sentence: "you never went radical."
Caught a flaw
Absolute scores, not normalized ones.
AI proposed / built
The AI-proposed scoring normalized each lens per session, stretching the ideas across the full range.
We decided
We measured the raw embeddings, saw that normalization made every axis look balanced and hid every real gap, and switched to absolute scores.
Why: A tool for finding blind spots that erases blind spots by construction is worse than no tool.
Whiteboard first
Meet people where brainstorms happen.
AI proposed / built
The first build was a form-and-chart flow: type ideas into a box, review lenses, look at a scatter plot.
We decided
We pivoted the whole UI to a whiteboard-first board of sticky notes, with the lens view one flip away.
Why: That's where brainstorms actually happen. A tool you have to leave the room for doesn't get used.
Connections
Thinking is relational.
AI proposed / built
Ideas were independent dots, each scored on its own.
We decided
We added threads between related ideas, clusters, islands, and links you draw yourself.
Why: Ideas don't live alone. What connects to what, and what connects to nothing, is part of the picture.
Async
Brainstorms don't happen in one sitting.
AI proposed / built
A single live session that ended when the tab closed.
We decided
Accounts, saved boards, invite links, and a "while you were away" digest.
Why: Real teams come back to a problem over days. The board has to remember, and has to tell you what changed.
Questions, not answers
Evidence, not ideas.
AI proposed / built
A reality-check feature could easily have returned "here's what others built, try this."
We decided
Even the Glasser reality check only shows how crowded a space is. It reports evidence and never hands over an idea.
Why: Every surface follows the same rule. The AI can ask questions and show evidence. The ideas come from you.
Being honest
How AI helped
We orchestrated coding agents that wrote most of the code in parallel, each on its own branch, merged as it went green. That is how a small team shipped boards, accounts, phone join, replay and a guarded question engine in one afternoon.
- Claude Code (orchestrator)
- Codex
- Cursor
Humans decided what to build, who it's for, and what it must never do.