Varjosoft

AI that earns its place.

Writings, tools, and a living system for building software with AI agents. Without them building you.

Helsinki · Building in public since some time already scroll

Builders know the shape of this failure.

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 industry has been building eager AI for three years. Every model, every agent, every framework shipped under the same virtue: never make the human wait. The counter-move is not a faster version of the same thing. It is a different category.

In February 2026 the failure got two academic names from two disciplines arriving at it independently. Margaret-Anne Storey calls it cognitive surrender, framed inside a new model of software debt that runs technical, cognitive, and intent debt together. Wharton's Shaw and Nave measured it: 80% of users follow AI's wrong answer when AI is wrong, 73% with no evidence of System 2 engagement at all. Practitioners are converging on the same vocabulary in their own work. Intent drift, plan decay, silent failures. The diagnosis is settled. The architecture that takes it seriously is what is coming next. Read the thesis.

Three surfaces for the same idea.

Each piece does one job for one audience. Use any of them on their own. Use them together as a system that remembers what you said mattered and refuses to drift away from it.

Dots · Public · Free tier

Dots.

AI that earns the right to answer.

A script tag you add to any page with words worth reading. Watches your visitor read. After five minutes of real attention, not tab-open time, opens a question field. Answers are grounded in the page and enriched by a living corpus around the subject.

Off-topic questions are refused. Shallow questions may be answered with a question back. The widget does not identify the reader, does not set cookies, does not ship data to advertisers.

Live in the corner of this page. Spend a few minutes reading and it will offer to answer.
Try it here

Spegling · Private · Allowlist

Spegling.

The personal authority system.

Memory that carries across sessions. A patterns corpus that stays current through daily auto-research and wiki-style enrichment. A governance harness for long-running agents: Spegling watches what the agent is doing, guides when it drifts, knows when to say no.

Usable through its interface or over MCP from your own agent. Integrates as wide or as narrow as you choose. Nothing connected without consent. Everything connected is scoped, logged, and revocable.

Request access

patterns-starter · Open · MIT

Starter.

The open bootstrap for your own corpus.

One file. PAT-0000, Living Patterns Corpus. The one pattern that generates all others. Fork it tonight. Add your first pattern from a problem you solved this week. Within a year you will have something durable. The Spegling corpus is already at a thousand patterns and counting.

Any Dots deployment can point at your own starter-built corpus instead of Spegling's managed one. Your agents read it; you compound it. The method is open so the shape survives whoever runs it.

Fork on GitHub

Adjacent.

Avrea

I'm founding engineer at Avrea: faster CI for GitHub Actions. Drop-in replacement for the default runners, 2–3x on cold builds and 145x with cache. Deep per-job observability so you can see where the time and money go. Recommended if your team wants faster builds and a lower bill.

Open source

A few small repos under github.com/varjoranta.

  • etchdb. Async DB layer for Python. Typed CRUD over Pydantic. Raw SQL when you need it.
  • turboquant-vllm. vLLM integration for low-bit weight quantization. Same work as the 34 tokens-per-second essay.
  • patterns-starter. Bootstrap for a personal pattern corpus. Fork tonight, compound for years.

Services · open

Quantize, serve, prove it.

The same engineering behind turboquant-vllm is available as a third-party validation engagement. If you ship a model, a quantization method, or a GPU SKU, I produce the public benchmark report, the reproduction repository, and the HuggingFace model card alongside.

Reproducible numbers. Publishable artifacts. Failure modes named, not hidden.

See how it runs

Memory, decisions, and evidence are owned. LLM inference, calendars, and email are commodities. The sovereignty is selective. That is what keeps you less capturable as the tools underneath you keep changing.

Evidence of the thinking.

All writing →

Hannu Varjoranta.

Systems engineer, founder, writer. Two decades building infrastructure, security, and data systems at scale, including work at Spotify and F-Secure, and later as co-founder of Valo and Cloop. Currently founding engineer at Avrea, working with the team on faster CI for GitHub Actions.

Varjosoft is my company for building, writing, and selective advisory work. It is intentionally small, personal, and long-term by design. The work on this site is where I think about the layer above execution: memory, trust, and the governance of systems that increasingly act on our behalf. The point of the work is to help the people using it stay less capturable as their tools keep changing underneath them.

The path is a conversation.

Three paths land here. Spegling access is by allowlist — say why and what you'd build. Quantization validation engagements are open: include model, hardware, deliverable, and budget range so the first reply can be a real scoping proposal (how it runs). Dots on your own site, or a fork of patterns-starter — say hi, I want to hear about it. I answer personally.

Or email hannu@varjosoft.com directly. Your email is used only to respond to your inquiry.

Dots · this page
reading with you