Architektur-Audit
Ein bis zwei Wochen: Code-Review, ein Workshop und schriftliche Ergebnisse, woher Ihre Kosten und Ihre Komplexität kommen und was zuerst weg kann.

Wir senken die Kosten überladener Web-Stacks und machen Ihre Anwendungen für KI-Agenten nutzbar. Ein Prozess auf einem Server, eine SQLite-Datei, HTML über die Leitung.
Die meisten Web-Apps brauchen kein verteiltes System. Sie brauchen einen schnellen Server, eine verlässliche Datenbank und HTML. Alles andere sind Kosten.
→ acht Rechnungen, die mit der Nutzung wachsen, ein Plattform-Team, 592 npm-Pakete, die gepatcht werden wollen
Gemessen an unserem Kanban-Board: ein Binary von 13.5 MB und 28 MB Arbeitsspeicher im Ruhezustand, wo PLANKA 18 Prozesse in zwei Containern betreibt.
Diese Website ist so gebaut, wie wir es beschreiben: ein Go-Binary auf einem Server. Solange Sie zuschauen, schickt es Ihnen diese Zahlen einmal pro Sekunde, als HTML über einen komprimierten Stream.
Verbindet …
Ihre Kundschaft bittet ChatGPT und Claude längst, Arbeit zu erledigen. Wir bauen einen MCP-Server vor Ihre bestehende API, damit das auch mit Ihrem Produkt geht, und Sie bestimmen, was ein Agent lesen und schreiben darf.
18 Lese-Tools über alle 376 Endpunkte der Buchhaltungs-API von CashCtrl, vier Schreib-Tools, die nur im Schreibmodus existieren und jede Änderung vorab zeigen.
Open Source auf GitHub →Unser SaaS für Fahrzeugkosten: 8 Tools zu Schweizer Fahrzeugdaten ohne Anmeldung, und 22 Tools für die eigene Garage hinter OAuth, darunter 14 Schreib-Tools. Jeder Aufruf landet im Audit-Log.
libretto.ch →43 Tools, mit denen Agenten Websites verwalten: Inhalte in allen Sprachen, Dateien, Navigation, Link-Prüfung. Mit einem Lese-Schlüssel oder einer Schreibrolle ohne Löschrecht.
cashctrl zeigt eine Vorschau
Mahnung an Meier AG über CHF 1’240.00, fällig in 10 Tagen. Geschrieben wird erst nach Ihrer Bestätigung.
Bestätigt
Illustration mit den echten Tools von cashctrl-mcp.
libretto-garage bittet um Bestätigung
BMW 530d Touring xDrive: CHF 340.00 on 2026-09-22 (werkstatt): Service: Öl und Ölfilter [resets: oil]. Record this?
Bestätigt
Nachgespielt aus einer echten Sitzung mit der Demo-Garage von Libretto.
Nach einer echten Sitzung: So haben wir diese Woche einen Artikel veröffentlicht.
Ein bis zwei Wochen: Code-Review, ein Workshop und schriftliche Ergebnisse, woher Ihre Kosten und Ihre Komplexität kommen und was zuerst weg kann.
Weg von Microservices, Serverless oder einem Hyperscaler, Schritt für Schritt, ohne Big-Bang-Rewrite.
MCP-Server, OpenAPI-Spezifikation, typisiertes SDK und ein Berechtigungsmodell, das Ihre Security abnehmen kann.
Wir entwickeln mit Ihrem Team und Coding-Agenten und zeigen, wie die Qualität unter Kontrolle bleibt.
Drei eigene Projekte, mit Quellcode und Rohdaten auf GitHub.
Mehrere Leute verschieben Karten auf demselben Board, gerendert auf dem Server: ein Go-Binary, eine SQLite-Datei, HTML über SSE. Gemessen gegen PLANKA (React, PostgreSQL) auf einem gedrosselten Handy.
Wir haben Vercels Next.js-KI-Chatbot als serverseitig gerenderte Hypermedia-App nachgebaut und beide auf einem Mittelklasse-Handy über langsames 4G gemessen.
Ein gemeinsames Spielfeld mit 2’500 Zellen, fünfmal pro Sekunde an alle gesendet, über einen komprimierten SSE-Stream, aus einem einzigen PHP-Prozess auf unserem Framework php-via.
Galerie von Datastar-Webkomponenten. Go, templ, SQLite, CQRS: der Stack, den wir empfehlen, von vorne bis hinten.
Kollaboratives Kanban-Board: ein Go-Binary, SQLite, Datastar. Gemessen gegen PLANKA, mit allen Skripten und Rohdaten.
MCP-Server für die Schweizer Buchhaltung CashCtrl. 376 Endpunkte, nur lesend ausser im Schreibmodus, Änderungen mit Vorschau.
Responsiver NetFlow-Visualisierer auf Basis von nfdump. Unser Projekt mit den meisten Sternen.
Echtzeit-Engine für reaktive Web-Apps in PHP, auf Swoole und Datastar. Treibt das Game of Life aus unserem Blog an.
Vercels Next.js-KI-Chatbot, nachgebaut in PHP mit Swoole und Datastar: die App hinter unseren Messungen, mit den Rohdaten.
Geobuf, ein kompaktes Format für Geodaten, in PHP.
43’822 Downloads · PackagistRON in PHP: das Wertemodell von JSON mit leichterer Syntax, für Menschen und LLMs.
2’108 Downloads · PackagistDatastar-Plugin, das Tastenkombinationen an Aktionen bindet.
1’284 Downloads · npmDatastar-Plugin, das Element-Properties mit Signalen synchron hält.
1’017 Downloads · npmTypisierter TypeScript-Client für alle 376 Endpunkte der CashCtrl-API, mit OpenAPI-3.1-Spezifikation.
689 Downloads · npm
Wir haben ein Kanban-Board gebaut, auf dem mehrere Leute gleichzeitig Karten ziehen, komplett auf dem Server gerendert, und es auf einem gedrosselten Handy gegen PLANKA gemessen.

Conway's Game of Life: multiplayer, in Echtzeit, ohne eigenes JavaScript. Gebaut mit php-via, unserem reaktiven PHP-Web-Framework auf OpenSwoole-Basis, und Datastar für SSE-basiertes DOM-Morphing.
Tiefere Entwicklungskosten, weil es weniger Architektur zu bauen und synchron zu halten gibt. Tiefere Betriebskosten, weil ein Server viele nutzungsabhängig verrechnete Cloud-Dienste ersetzt. Schnellere Änderungen, weil Logik und Zustand an einem Ort liegen. Und eine planbare Performance, weil der Server bestimmt, wie viel er sendet.
Serverseitig gerendertes HTML ist, wie das Web angefangen hat. Neu ist, dass Updates über eine einzige SSE-Verbindung gestreamt werden: Die Seite fühlt sich live an, ohne dass Ihr Anwendungszustand in den Browser wandert.
Wir haben es zweimal gemessen, auf einem Mittelklasse-Handy über langsames 4G. Unsere Version derselben Chat-App war 8.3-mal früher interaktiv als das Next.js-Original, und auf unserem Kanban-Board ist eine verschobene Karte nach 253 ms vom Server bestätigt, wo PLANKA, gebaut mit React, 712 ms braucht.
Mit einem einzigen Writer ist die Performance fast nie das Problem. Alle Schreibzugriffe laufen nacheinander über eine Verbindung, warten also nie auf die Locks der anderen, und Lesezugriffe laufen daneben, ohne zu warten. Die Datenbank ist eine Datei neben der Anwendung, eine Abfrage kostet also keinen Netzwerk-Roundtrip. Was ein einziger Writer ausschliesst, sind viele Prozesse, die gleichzeitig schreiben, und die Architektur ist so gebaut, dass sie das nicht braucht. Der Writer unseres Kanban-Boards schafft rund 13’800 Verschiebungen pro Sekunde, wenn 200 Leute gleichzeitig Karten verschieben.
systemd startet einen abgestürzten Prozess innert Sekunden neu. Litestream kopiert jede Änderung etwa eine Sekunde später in einen Object Storage in der Schweiz, und ein täglicher Test-Restore prüft, dass die Kopie funktioniert. Fällt der Server selbst aus, stellt ein neuer die Daten beim Start wieder her. So läuft unser SaaS Libretto. Bis der neue Server läuft, ist die App offline. Für die meisten Geschäftsanwendungen ist das ein fairer Preis dafür, keinen Cluster zu betreiben; wenn nicht für Ihre, sagen wir Ihnen das, bevor wir anfangen.
Für die meisten Geschäftsanwendungen ist es der falsche Standard. Offline-First heisst optimistische Updates: Der Browser zeigt ein Ergebnis, bevor der Server es angenommen hat, und muss es zurücknehmen, wenn der Server ablehnt. Damit wandert die Konfliktbehandlung in jeden Client. Wir lassen den Server entscheiden und zeigen ehrlich, was er bestätigt hat. Wo echtes Offline-Arbeiten unverzichtbar ist, ist eine native App das bessere Werkzeug.
Go, SQLite und systemd sind langweilig, offen und weit verbreitet. Der Code gehört Ihnen, und wer Go kann, kann ihn übernehmen.
Nur wenn Sie es so entscheiden. Unsere MCP-Server lesen standardmässig nur. Schreib-Tools gibt es nur im Schreibmodus, und jede Änderung wird als Vorschau gezeigt, bis jemand sie bestätigt.
In einer ausufernden Architektur schon. In einer kleinen Codebasis mit einem Binary und einer Datenbank kann ein Reviewer noch jede Änderung lesen, und genau darum geht es.

Hinter der zwei und eins gmbh steht Michael Bolli. Seit über 20 Jahren baut und betreut er Web-Anwendungen, mit Fokus auf Architektur, Performance und Systeme, die wartbar bleiben.
Er arbeitet ohne unnötige Framework-Schichten, findet sich schnell in bestehende Systeme und Teams ein und pflegt Open-Source-Projekte wie nfsen-ng und php-via. Er ist auch Fotograf: Die Bilder auf dieser Website sind von ihm.