← Alle Beiträge

Rückblick, geschrieben ein paar Tage nach meinem letzten Kobe-Commit.

Kobe: was ich als Founding Engineer eigentlich gebaut habe

Die Launchpad-Serie erzählt die drei Wochen von innen. Dieser Post erklärt das Produkt: einen Agenten, der in deinem eigenen Netzwerk den besten Weg zu einer Person findet, und meinen Teil daran.

Du willst mit einer bestimmten Person reden. Irgendwer in deinem Netzwerk kennt sie, du weißt nur nicht, wer. Kobe findet genau diesen Weg.

Kobe ist ein Startup aus Berlin mit drei Leuten. Nils ist CEO, René CTO, ich bin Founding Engineer. Gegründet haben die beiden, gebaut haben René und ich das Produkt zusammen, er hat etwas mehr von der Planung nach außen gemacht. In der Launchpad-Serie steht, wie sich die drei Wochen in Pennsylvania angefühlt haben. Hier geht es nur um das, was wir gebaut haben.

So funktioniert Kobe, und so läuft auch die Demo auf dieser Seite, mit Beispieldaten. Du gibst eine Mission ein, zum Beispiel drei Referenzgespräche für jemanden buchen. Kobe zerlegt das, sucht passende Personen und schaut dann in dein eigenes Netzwerk: LinkedIn, E-Mail, Slack, Notizen. Daraus rankt es warme Wege, also wer dich am ehesten vorstellen kann und warum. Für jeden Weg schreibt Kobe zwei Texte: die Bitte an deinen Kontakt und eine Nachricht, die er direkt weiterleiten kann. Verschickt wird nichts, bevor du es bestätigt hast. Und deine Rohdaten bleiben auf deinem Rechner.

Live-Demo · Beispieldaten

Ask Kobe

Your personal Superconnector

Demo mit Beispieldaten
Kobe, nachgebaut aus der Produkt-UI: Eine Anfrage geht rein, Kobe arbeitet sich durchs Netzwerk, rankt warme Wege mit Belegen und schreibt die Vorstellung. Tippe eine eigene Anfrage oder gib die Nachrichten selbst frei.

Damit das geht, gibt es drei Teile. Eine Web-App mit Backend auf Cloudflare Workers, Postgres als einziger Datenspeicher, Row-Level Security. Eine Desktop-App für den Mac, die die Quellen lokal liest. Und einen Kanal dazwischen, über den Server und Mac sich unterhalten.

Mein Teil im Oktober, in Zahlen: 509 von 918 Commits im v3-Repository, 157 von 750 in der Desktop-App. Fast alle davon mit Claude Code als Co-Autor, ich habe in mehreren Worktrees mit Agenten parallel gearbeitet und die Ergebnisse geprüft und gemergt.

Ein paar Dinge im Detail. Am Kanal zwischen Cloud und Mac habe ich viel gearbeitet: Ein Mac, der sich neu verbindet, übernimmt seinen unterbrochenen Import, statt neu anzufangen. Ein Mac, der Schlaf ankündigt, gilt als schlafend und nicht als verloren. Alte Verbindungen werden über eine Generationsnummer ausgesperrt. Anlass für eine Änderung war ein Kunden-Mac, der in einer Stunde 94 Mal eine 409-Ablehnung bekam. Seitdem nimmt der Server eine wiederholte Abschlussmeldung einmal an und ignoriert die Kopien.

Dann der Agent. Ich habe vorgeschlagen und gebaut, dass unser Chat-Agent kein eigenes Werkzeug kennt, sondern jedes Tool vom MCP-Server holt, den René angelegt und ich erweitert habe. So sehen Chat und externe Clients wie Claude genau dieselben Tools. 160 Unit-Tests laufen gegen ein Fake-Modell und prüfen, dass vor dem Versand immer jemand bestätigt und ein Tool erst läuft, wenn sein Skill geladen ist. Ohne ein einziges echtes Modell aufzurufen.

Dazu habe ich eine Staff-Konsole für unser Team gebaut: pro Kunde der Zustand und eine Ursachenkette in Klartext, dazu Aktionen auf dem Kunden-Mac, die eine Begründung brauchen und in einem Journal landen. Spec und Prototyp kamen von mir, Teile haben Agenten parallel gebaut, gemergt habe ich. Und an einem Tag das Pitchdeck.

Was ich mitnehme: Erst messen, dann fixen. Im September habe ich bei einem Verbindungsproblem nicht geraten, sondern gezählt, und kam auf einen erzwungenen Reconnect etwa alle 314 Sekunden. Zweitens: Ein Agent, der Nachrichten in deinem Namen verschickt, braucht eine Freigabe, die man testen kann. Drittens: Mit Agenten parallel zu arbeiten geht nur, wenn jede Datei genau einen Besitzer hat.

Tools und Skills: TypeScript, Hono auf Cloudflare Workers mit Durable Objects, Postgres mit Drizzle und Row-Level Security, Electron mit React, WebSockets, MCP, Playwright und Node-Tests, ADRs und Claude Code mit Git-Worktrees.

Im März hatte ich schon einmal für Kobe gearbeitet, unterwegs auf dem Roadtrip: an einer Agenten-Pipeline in Python, die aus Slack-Daten einen Skill-Report baut. Das Produkt war damals ein ganz anderes. So schnell ändert sich das in einem Startup.

Mehr zu diesem Projekt

  1. 3. Okt. 2026Launchpad, Teil 1: Sieben Tage vorher
  2. 6. Okt. 2026Launchpad, Teil 2: „Your system has run out of application memory"
  3. 10. Okt. 2026Launchpad, Teil 3: Zehn Interviews bringen nichts
  4. 17. Okt. 2026Launchpad, Teil 4: Umsatz statt Punkte
  5. 19. Okt. 2026Launchpad, Teil 5: Demo Day