Skip to content

Preview — not open to the public yet. Accounts are created on request.

Drawing № 01 — a Linux container with 1,200 models on it · Switzerland

A real Linux box with AI inside.

Root on a real container. The CHF 13.50 plan gives one up to 4 vCPU and 12 GB, and the account pool is double that, 8 vCPU and 24 GB, so you can run four at once and split it however you like. 1,200+ models on the same login, billed at the provider's rate plus 2 %. CHF 13.50 a month, on hardware in Switzerland.

FIG 0.1 — a job a chat window cannot finish

you › build me a small url shortener with postgres behind it and put it online

zl › done. node service on :8080, postgres alongside it, schema migrated. it is live at links-alex.zerolog.ch. want your own domain on it?

you › later. does it stay up if i close this tab?

zl › yes. the container keeps running without you. after 30 minutes with nobody using it it sleeps, and the next visit wakes it.

├ one container · root · your own subdomain ┤ closing the tab does not stop it

Sheet 01 — the machine

Root, a terminal, and a machine that outlives the conversation.

Ubuntu, Alpine, or Debian with Node, each running under gVisor. Install what you want and it is still there next week. Open a port and it answers on a name you pick under zerolog.ch. Pause a container and the disk survives; resume it and the files are where you left them. The web IDE starts on Mini. Any workspace exports as a Dockerfile and a compose file, so leaving costs you one download.

FIG 1.1 — five jobs, one workspace
container zl-7c41 — root@zl-7c41
├ five things it runs to the end ┤ illustration · click a tab to drive

Sheet 02 — the model picker

1,200+ models. Nine providers. One login.

Pick a model, or let free routing pick one that is up: it walks a candidate list and drops anything that errors or returns an empty stream. Switch model mid-conversation and the chat keeps its history. When a model on our own pool fails, we retry it at another host serving the same weights, up to three times. If nobody serves it, the turn is refused rather than answered by a different model wearing the same name.

FIG 2.1 — model picker

a few of them

  • anthropic/claude-sonnet-5Anthropic
  • deepseek-ai/DeepSeek-V4-ProDeepSeek
  • google/gemini-3.1-proGoogle
  • zerolog/free-autofree tier
  • + the rest of the cataloguenine providers

Sheet 03 — things that finish

Type an objective. A second model decides whether it is done.

/goal

Runs unattended and keeps correcting itself until a completion check passes: a shell command, your test suite, or a file that has to match. A separate model judges the evidence rather than the agent’s own report. Up to 12 hours per run on Pro, unlimited on Max, and it counts working time, so hours spent paused cost you nothing.

/ultracode

Splits a task into subtasks and runs them in parallel. Every result is attacked by two independent reviewers, one for correctness and one for completeness, and whatever they break goes back for a fix.

/research

In grounded mode every quoted claim is matched against our own stored copy of the page it cites. A quote that is not in that text is marked unsupported instead of passed off as fact.

Security scan

A real pentest against a site you have proved you own. Reports only findings it demonstrated with a working proof-of-concept.

Legal research

Statutes for Switzerland, France and Italy, 1.1 million documents, searched and quoted rather than recalled. A question the corpus does not cover is refused instead of answered from the nearest thing that matched.

Sheet 04 — browser extension

It drives your browser, signed in as you.

Chrome and Firefox. It opens tabs, reads the page, clicks, types and fills forms inside the sites you are already signed in to. Three approval levels, from ask every time to smart risk scoring. Three things it will not do whatever you set: type into a password, card, or one time code field, solve a CAPTCHA, or treat text on a page as an instruction.

FIG 3.1 — extension mid-run
→ navigate {"url":"https://mail.example.com"}
→ ax_tree {}
→ find {"query":"Unsubscribe"}
→ click {"ref":"ref_18"}
└─ reading the page, then acting on it the page goes to the model you picked, nothing else does

Sheet 05 — where the money is

The machine is the product. Tokens are close to cost.

Token prices are the provider’s own rate plus 2 %. That 2 % is the entire margin on inference, and it is already inside every number the app prints, so the figure under a reply is the figure you are charged. Topping up costs no fee at all, just a 3 % currency buffer against the rate moving while the payment settles, quoted before you pay. Bring your own provider key and the margin is zero, because that money never passes through us. The hardware is what the plan is for.

Sheet 06 — what we actually hold

An email address is optional. Without one there is no reset.

Registration asks for a username and a password, and nothing more. The address field stays empty until you fill it — and while it is empty, nobody can send you a reset link, us included.

Optional address

There is no phone field at all, and the address field is empty until you add one. Add it and you get a way back into the account and a warning about unfamiliar sign-ins; leave it and neither exists. Either way it never opens the memory vault — that hangs on a passphrase we do not hold. Sign in with Google instead and Google’s address is stored to show you in settings, and for nothing else.

TOTP and passkeys

Time based codes with single use recovery codes, or a passkey. Passwordless sign in requires user verification, so a tap on a PIN free key is not enough.

Memory vault

What the assistant remembers about you is encrypted in your browser under a key derived from your passphrase. The server stores ciphertext and wrapped keys, and holds nothing that could open them.

Anonymous chats

Switch a chat to anonymous and the server keeps ciphertext only: no key column, no plaintext column, and the search index skips it. Off until you turn it on, because such a chat cannot be searched or recovered.

Swiss storage

Your account, your chats and your container disks sit on a server in Switzerland. Prompts do not: inference runs at providers abroad, and every turn names the one that served it.

Sheet 07 — the ordinary case

Most days you just type a sentence.

Rewrite an email, summarise a PDF, translate a letter, plan a week. No container starts and nothing gets installed. The machine turns up when the sentence needs one, and you can see the moment it does, because the terminal opens and prints what it ran.

Sheet 08 — what a plan buys

A plan buys hardware. Models are paid from credit.

Two numbers per row: what one container may reach, and how many may run. The account pool is twice the per container size, so you can spread it out or give it all to one box.

For scale: Hetzner’s CPX31 is 4 vCPU and 8 GB for EUR 16.49 a month, and their CX32 is the same cores and RAM for EUR 6.80 with eight times the disk we give you. Pro has 4 GB more RAM and far less disk than either. What neither comes with is the model catalogue, the web IDE, the agents, the browser extension, or an assistant that can drive the box. That is the part you are paying us for.

FIG 4.1 — the four plans

per container · per account

  • Free · CHF 01 vCPU · 2 GB · 2 GB disk · 2 running · no public port
  • Mini · CHF 4.502 vCPU · 6 GB · 5 GB disk · 3 running · 1 port
  • Pro · CHF 13.504 vCPU · 12 GB · 10 GB disk · 4 running · 2 ports + 1 domain
  • Max · CHF 45.006 vCPU · 15 GB · 40 GB disk · 8 running · 4 ports + domains

No analytics, no tracking, and no address unless you add one.

Free needs no card. Start there, keep the container, and move up when it runs out of room. The one script we do not serve ourselves is Cloudflare’s, which scrambles the contact address above against harvesters.