<style> .film__track { height: auto !important; } .film__stage { position: static !important; height: auto !important; /* Ohne diese Zeile ist der Rückfall LEER: container-type: size bemisst die Bühne nicht mehr nach ihrem Inhalt, und overflow: hidden schneidet alles weg. */ container-type: normal !important; } .film__poster { position: absolute !important; } .film__content [data-film-anchor] { position: static !important; transform: none !important; opacity: 1 !important; margin: 2.5rem clamp(1rem, 5vw, 4rem) !important; max-width: 34rem; } </style>
AI-generated image

Add-on service

A companion that invents nothing.

It sits in the bottom corner, guides visitors to the right destination and asks three questions instead of twenty. Every answer it gives was written in advance — which is why it needs no consent, costs nothing per conversation and never goes down.

The problem is not that visitors find nothing. It is that they do not ask.

People who land on a services page rarely have a question — they have a situation. Too many options, no price they can place, and no appetite for filling in a contact form before they know they are in the right place. So they leave. A companion inverts that by taking the role a person at the door takes in a shop: it asks what is being looked for and then shows exactly one way forward. Not six. And if someone does not want to talk, it stops talking — that is a rule in the code, not just an intention.

In use

You do not need an example — it is in the corner of this page

This platform: 297 prerendered pages, two languages, one companion

The companion you can see here is the same product I deliver — not a demo build. It runs on 275 pages of this platform, knows the difference between a glossary entry and a services page, and names the subject of the page it is on. Open it, turn it down once, and watch what happens next: nothing. That is the part you have to try, because it cannot be claimed.

  • Zero bytes in the initial bundle — it loads only once the page is up
  • No cookie banner: nothing leaves the device, nothing carries an identifier
  • Without JavaScript a real contact link stays in the same place
  • At most three utterances per visit, at least two minutes apart
  • Operable by keyboard and screen reader, checked on three screen sizes
See it on the services page

The example shown is my own product on my own platform — an in-house build, not an independent client project. I say so rather than leave it out. The companion is new; there is no client installation to point at yet, and I do not invent one.

Why it is built differently

Four decisions that cannot be corrected later

  • It cannot invent anything

    Every answer exists as text in the project and is signed off by you. A language model will produce something plausible when in doubt — in front of a law firm or an engineering office that is not a detail, it is a liability question.

  • It needs no consent

    Nothing leaves the device. The session store carries no identifier, only counters, and is discarded when the tab closes. So it touches neither the consent banner nor a data-processing agreement.

  • It does not cost you load time

    Zero bytes in the initial bundle, measured and protected by a build gate. It loads after the first render — the page is complete before it arrives, not after.

  • It obeys rules, not intentions

    At most three utterances per visit, at least two minutes apart, and a refusal both lowers the allowance and locks the topic. Those limits live in the code and pass through a single gatekeeper — no trigger gets its own way around them.

Process

How a companion is built

  1. Fix the destinations

    We collect every destination a visitor could be guided to — and cut until at most six remain. That session is the real value: anyone who cannot name six destinations does not have a companion problem, they have an offer problem.

  2. Design the questions

    From stage 2 on, the decision tree takes shape: at most three questions before a recommendation, and every recommendation gets a sentence that justifies it. Anyone who has to answer four times would have been faster on the phone.

  3. Integration and styling

    The companion takes on your site’s colours, spacing and radii through its own design tokens. It does not look like a bought-in widget, because it is not one.

  4. Testing and handover

    Every path is clicked through, keyboard operation and screen reader are checked, three screen sizes measured. Afterwards you get the file that holds the greeting, the destinations and the questions — you can change it yourself.

Stages

Five stages — you start where it pays off

The stages build on one another and share the same state machine. Upgrading later therefore costs the difference, not the full price — nothing is rebuilt, something is added.

Stage 1 — Presence

It is there, and it guides. For sites where visitors cannot find the one right destination.

on request about one week

  • A capsule in the bottom corner, a panel with a greeting and up to six destinations
  • Direct actions: call, e-mail, booking, directions
  • One language, styled with your site’s own design values
  • Without JavaScript a real contact link stays in place
  • Keyboard and screen-reader testing, three screen sizes
Request stage 1

Stage 3 — Context

It knows where it is standing. For sites with many subpages, where one sentence for all of them will not do.

on request three weeks

  • Everything from stage 2
  • Rules per page type rather than per page — twelve rules cover hundreds of pages
  • It names the subject of the page it is on
  • Session memory: it does not repeat itself and remembers a refusal
  • Behavioural triggers: reading depth, questions read to the end, third visit
  • Measurement without personal data, so that stage 4 becomes decidable
Request stage 3

Stage 4 — Figure

The capsule becomes a person. Only worthwhile where presence itself is the product.

on request five to six weeks

  • Everything from stage 3
  • A free-standing figure with states: greeting, listening, explaining, inviting
  • A still image as the fallback wherever transparent video is not supported
  • Imagery produced for your brand, not a bought-in avatar
  • I only build this stage once the measurement from stage 3 justifies it
Discuss stage 4

Stage 5 — Language model

Open questions instead of fixed paths. Possible, but bound to three conditions I will not skip.

on request once the conditions are cleared

  • Everything from stage 4, the same interface — the tree is replaced, not the page
  • Condition 1: a data-processing agreement with the model provider
  • Condition 2: a cost ceiling beyond which it falls back to the tree
  • Condition 3: your privacy policy names the processing
  • Until then it is technically disabled — not “planned”, switched off
Discuss the conditions

Setup, additional languages, and later expansion are quoted according to the agreed scope. Ongoing care is available but optional: stages 1 to 4 create no operating costs — no server and no per-conversation fee — so there is no mandatory subscription. Optional care is currently priced on request only.

What this is not for

  • A site with five subpages and one destination. A visible contact button is more honest there — and cheaper.
  • A shop with hundreds of items. What is missing there is good search, not a companion.
  • First-line support instead of staff: it answers no question you have not answered first.
  • Anyone who wants visitors talked into staying. After a refusal it stays silent — that is how it is built, not a setting.

Questions

Frequently asked

In stages 1 to 4, no. It is a decision tree: it asks up to three questions and then recommends one of your destinations. That difference is not a cut-down version, it is the reason it runs without consent, without running costs and without liability risk. A language model is provided for as stage 5 and serves the same interface — so this is not a dead end, it is the order of things.

Not for stages 1 to 4. Nothing leaves the device, no identifier is issued, and the session store holds only counters that disappear when the tab closes. Storing the language choice permanently asks first, and if you withdraw consent the entry is deleted and no longer read. Stage 5 would be a different matter — which is why it sits behind three conditions.

No, and that is measured rather than claimed: the companion is in none of the bundles loaded on first request — zero bytes. It is fetched only after the first render. A build gate breaks the build if that ever changes.

A plain link to your contact route sits in exactly the same place. That is not a stopgap but the delivered state of every prerendered page — the capsule replaces it only once the browser is ready.

It never opens by itself. It says something at most three times per visit, at least two minutes apart, and a refusal lowers that allowance further and locks the topic for the rest of the session. All triggers pass through the same checkpoint, so no future trigger gets its own way around those limits.

Yes. The greeting, the destinations and the questions live in one readable file that you receive at handover. If you would rather not touch it, add the care option — both are possible, neither is required.

Then it costs the difference between the stages. All stages share the same state machine and the same interfaces — an upgrade adds something, nothing is thrown away and rebuilt. That is precisely why starting at stage 1 is not a wasted investment.

On an Angular site, yes — there it is a configuration file and one small adapter file. For other systems, WordPress for instance, I look at it first and tell you before quoting whether it works. I do not sell an integration I have not checked.

Can you name six destinations?

That is the only question that has to be answered before a companion. We go through it in one conversation — free of charge, and if it turns out a visible contact button is enough, I will say so.

Request a first conversation
Project inquiry