I have a folder of AI screenshots. Every one of them is an AI saying yes.
Yes, here's your summary. Yes, here's your pull request. Yes, here's your code, your poem, your cover letter, your haiku about a dog who believes in god. Yes, here's what you asked for, plus four things you didn't, plus an offer to draft a response if you'd like.
The folder is four hundred files deep. Nothing in it is bad. Nothing in it is good, either. It is the shape of a specific kind of transaction, repeated: human asks, machine agrees, human moves on to the next ask.
This is what the AI industry has been building for three years. Eagerness as a service. Every new model is faster to respond. Every new agent is faster to act. Every new framework reduces the latency between a person's question and a machine's answer. The category has converged on a single virtue: never make the human wait.
I think that was the wrong virtue.
Builders know the drift
Ask anyone who writes software for a living. The agent wrote the patch. You read the diff, the tests passed, you merged. Two weeks later there is a bug, and when you step into that code you realize you do not quite know why it was written that way. The code is yours, but the mental model is not. You never built it. The friction that used to force you to understand what you were shipping was traded away for speed.
That gap is the drift. It is small each time and cumulative across a year. At the end you have a system you own, a codebase you wrote, and a model of it shaped more by your agent than by you.
Every profession gets its version. Writers drift through AI-generated summaries. Analysts drift through dashboards they did not build. Students drift through essays that sound like them but are not. The drift is not laziness. It is what happens when every tool in your hand is optimizing to answer you faster than you can frame the question.
The cost of eagerness
When you make a tool eager, you shift something subtle in the person using it. The tool is always ready, so the person never has to be. The tool never refuses, so the person never has to think through whether the question is worth asking. The tool answers instantly, so the person never has to sit with not-knowing long enough to form a better question.
Nobody agreed to this trade. It just happened, because eagerness is easy to sell and refusal is not.
Read any chat transcript from the last year, yours, a friend's, a famous CEO's leaked one, and ask where the person was at the end compared to the start. Usually the answer is: slightly further from their own thought. The model took the question and returned a plausible answer, and the person accepted both. The exchange produced output. It did not produce depth.
Speed is not why this happens. Eagerness is. A slow AI that refuses to be rushed does not have the same effect. A slow AI that refuses to answer questions it does not know does not have the same effect. A slow AI that asks you to read the page before answering a question about it does not have the same effect.
You do not leave those conversations feeling managed.
The counter-move
The counter-move is not hard to describe. It is much harder to build.
An AI that watches you read. That notices which paragraphs you lingered on and which you skipped. That waits, visibly, for you to spend real attention on the page before it will take any question at all. How much time depends on how deep the material is. A short essay: five minutes. A dense technical argument: longer, and the widget will say so before you begin.
An AI that reads the page alongside you, then reaches past it. Around any serious subject is a living body of prior work: patterns, arguments, counter-arguments, adjacent case studies, the specific ways other people have tried to solve the same problem. A slow AI should be grounded in the page but not limited to it. It should know what has already been said nearby. When you ask, it answers from the page first, and then, when useful, from that wider context.
An AI that refuses when the question is outside the point. Not with an apology. Just honestly: this is not what I read, and this is not where depth lives. If you want to know the best pizza in New York, ask someone who eats pizza in New York. I read an essay about the permission economy and I have a corpus of prior work around it. Let us stay there.
An AI that can ask you a question back. Push it toward the trivial and it may push back: are you sure this is what you came here to understand, or do you want to sit with the piece a little longer? That is not a defect. It is the shape of a tool that respects both your time and the author's work.
Call it Slow AI.
The artifact
I built a widget.
The first instance is running in the corner of this page right now. A pair of faint dots. They watch what you read. They read the page alongside you, and they reach into a living corpus of thousands of patterns and recent findings organized around the subjects the page touches. The default is five minutes of real attention before a text field appears near the dots. Authors can raise that for denser material, and the widget makes the cost visible before you begin.
Then you can ask a question.
Because Dots has more context than the page, its answers are not summary-shaped. They connect what you just read to what has been worked out elsewhere on the same problem. They surface a prior pattern that frames the argument differently. They point at a recent finding that the page does not mention. When the question is off-topic or shallow, Dots refuses to execute. When you push, it might surprise you with what it knows, or it might ask you whether you are ready to go further.
The widget does not identify you. It sets no cookies. It does not ask for your email. It does not send you anywhere or show you to advertisers. It counts attention in fifteen-second windows, stored in your own browser, and forgets you the moment you close the tab, unless you explicitly ask it to remember. If you do, it keeps the thread of what you said and what it said across visits, and nothing else. GDPR compliance here is not a checkbox at the bottom of a privacy policy. It is what the thing is.
If you turn remember-me on, you already start to feel something I will come back to at the end.
If you are the author of the page, the widget gives you back something most analytics platforms do not: an honest picture of what your readers cared enough to finish. You see how many visitors earned the right to ask, what they asked, and what the widget had to refuse. Refused questions are often the most valuable ones. They tell you what your readers came looking for and did not find. There are no personal identifiers, no tracking pixels, no shadow profile of your audience. Just patterns in patience.
I am calling it Dots. Right now it runs on this site only. The next thing I am shipping is the embeddable version, so any site can add it with a script tag. If you want it on yours, the contact form below is the way in for early access; the first embeds go to writers and researchers I can ground the corpus around well while the edges get sanded.
A note for the careful: when the embed ships, "one line" is the default case. If your site runs a strict Content Security Policy, it is that plus two entries: spegl.ing in script-src and connect-src. SRI hashes will be published for sites on nonce-only policies. Everything else installs without config.
The corpus behind it
Every Dots deployment can be pointed at a corpus of knowledge. Two options.
You bring your own. I run a companion repo called patterns-starter. It is the single-file bootstrap for building your own living corpus of architectural patterns, product ideas, and insight primitives. It ships with the one pattern that generates all others: PAT-0000, Living Patterns Corpus. Fork it. Add your first pattern tonight. In five years you will have something durable that your agents can read and you can compound.
Or you use the one I have been building for some time already. It lives inside Spegling and currently holds about eight hundred patterns across every technical domain I work in, plus the products and syntheses that compose them. It is constantly expanding. New research, new patterns, new cross-references are written into it daily by both me and the agents that run against it. When Dots is pointed at the Spegling corpus, it can reach any of that context in response to a question about the subject of the page.
The corpus is alive. That is the property that matters. Not trained once on 2023 data. Read tonight. Referenced tomorrow.
What I do not know yet
I do not know whether the category has legs or whether I am naming a room with three chairs in it.
I do not know whether developers will tolerate a tool that asks them to slow down. The industry has spent three years assuming the opposite, so the evidence set is thin.
I do not know whether refusal as a primary design element is durable at scale, or whether it collapses into parody the moment the widget becomes popular.
I know I would rather find out than keep shipping the eager version. That is the only thing I am sure about.
What Dots becomes next
Dots is a corner of a larger system called Spegling. Where Dots applies Slow AI to a visitor on your page, Spegling applies the same design principles to you in your own work.
You can use Spegling directly, through its interface, or you can reach it from your own agent over MCP. Either surface opens onto the same system. It takes notes and remembers them. It carries a patterns memory, the same kind of corpus patterns-starter teaches you to build, but with an auto-research and wiki-style enrichment layer underneath. When you ask a deep question, Spegling does not just answer from what you have saved. It reads around the subject, composes the findings into articles, and keeps them current as you continue to work.
You integrate it as wide or as narrow as you choose. Into your calendar and email, the repositories you write software in, the notes you keep for yourself. Or kept narrower: just patterns, just research, just the memory layer. The scope is yours. Nothing is connected without consent. Everything connected is scoped, logged, and revocable.
The other thing Spegling does is govern your agents. Long-running agent sessions run under a harness where Spegling watches what the agent is doing, guides it back when it drifts, and knows when to say no. An agent that does not remember why it was started collapses under its own momentum inside a week. An agent that runs under Spegling remembers the intent that started it, the constraints it was given, and the points at which it owes you a decision.
This is the product. AI governance that knows you, and keeps you grounded in your own goals while your agents and memories compound around you. It reminds you what you said mattered, last week and six months ago. It notices when today's action is drifting from last month's intent. The point is not to make you more optimized. It is to make you less capturable.
If you turned remember-me on in Dots, you already felt the shape of it. Dots is where that shape begins. Spegling is what it becomes when it is running across all of your thinking, not just one page.
If you run a site that has words worth reading, your own writing, your research, your open-source docs, anything where a thoughtful reader would benefit from a thoughtful answer, get in touch. Embeddable Dots is the next thing I am shipping.
And if it turns out there is nothing here, nothing beyond a folder of refusals that nobody finds useful, then at least the folder will exist. It will be a small, specific record of a different bet, made in public, during a year when everything else was trying to answer faster.
Hannu Varjoranta writes about trust, continuity, and the design of systems that respect human attention. Previously: The Permission Economy, Under the Shared Sky, and Building Software with AI Agents. He builds Spegling and runs patterns-starter, the open bootstrap for personal pattern corpora.