Ein Live-CRM für die Akquise, in Echtzeit geteilt und KI-fähig
Wir haben ein Vertriebs-CRM gebaut, das ein kleines Akquise-Team und seine KI-Assistenten in Echtzeit teilen: Leads recherchieren, qualifizieren, anschreiben, nachfassen. Eine einzige Datei als App, Supabase in der EU als Backend, jeder Schreibzugriff mit menschlicher Freigabe. So funktioniert es, und welche Entscheidungen dahinterstecken.
Das Problem
Akquise scheitert selten am Wollen, sondern an der Übersicht. Leads liegen in Tabellen, Notizzetteln und Köpfen verteilt; zwei Leute pflegen zwei Wahrheiten; ein vielversprechender Kontakt fällt durchs Raster, weil niemand die Wiedervorlage im Blick hatte. Ein kleines Team, das dieselben Firmen bearbeitet, braucht genau eine geteilte, lebende Quelle der Wahrheit. Und weil hier nicht nur Menschen, sondern auch KI-Assistenten an der Pipeline arbeiten, musste dieselbe Quelle für beide zugänglich sein.
Was wir gebaut haben
Ein login-geschütztes Live-CRM als schlanke Web-App. Darin ein Kanban-Board über die Vertriebsstufen, ein Nachfass-Radar, das fällige und überfällige Kontakte nach oben holt, ein nach Wahrscheinlichkeit gewichteter Umsatz-Funnel, ein Fit-Score je Lead und Generatoren für Brief und E-Mail, die den ersten Entwurf gleich rechtssauber vorbereiten. Jeder Lead trägt seinen recherchierten Befund, einen konkreten Angebots-Ansatz und einen editierbaren Mail-Entwurf, den man mit einem Klick in der Mail-App öffnet und danach als versendet protokolliert. Abgesagte Kontakte lassen sich als „tot", „in zwei Monaten nochmal" oder „auf Eis" markieren, jeweils mit automatischer Wiedervorlage.
Der technische Kern
Das Backend ist eine Postgres-Datenbank bei Supabase, gehostet in der EU. Der Zugriff ist über eine E-Mail-Allowlist auf Datenbankebene abgesichert (Row Level Security): Nur freigeschaltete Konten sehen die Daten, selbst wenn jemand die öffentliche Registrierung fände. Die Oberfläche ist bewusst eine einzige Datei aus reinem JavaScript, ohne Framework und ohne Laufzeit-Abhängigkeiten. Sie wird deterministisch aus einer Quelldatei erzeugt, sodass sich jeder Stand exakt reproduzieren lässt, und geht per Git-Push in Sekunden live.
Der heikelste Teil bei einem geteilten Werkzeug ist das gleichzeitige Arbeiten. Änderungen synchronisieren live über alle offenen Fenster; ein Echo-Schutz verhindert, dass die eigene Speicherung als fremde Änderung zurückkommt, und ein Schutz gegen veraltete Formularstände sorgt dafür, dass zwei Leute sich nicht gegenseitig überschreiben. Eine fehlgeschlagene Speicherung geht nicht verloren, sondern wandert automatisch in einen erneuten Versuch.
KI pflegt mit, nicht nur der Mensch
Das Besondere liegt im Zugriff: Die KI-Assistenten des Teams arbeiten über dieselbe Schnittstelle an der Datenbank. Sie recherchieren einen Lead im Web, schreiben den belegten Befund und einen zugeschnittenen Angebots-Ansatz direkt in den Datensatz und legen einen fertigen Mail-Entwurf ins dafür vorgesehene Feld. Der Mensch prüft, passt an und schickt. Aus dem CRM wird so weniger eine Ablage als eine Pipeline, an der Mensch und KI arbeitsteilig ziehen, mit dem Menschen an jeder Freigabe.
Bevor wir ihm vertraut haben: ein Angriff auf die eigene Software
Ein Werkzeug, das echte Kontaktdaten und Kaltakquise steuert, darf keine peinlichen Fehler machen. Vor dem Scharfschalten haben wir einen Schwarm unabhängiger KI-Reviewer darauf angesetzt, jeder mit dem Auftrag, einen anderen Ablauf zu brechen, gefolgt von einer zweiten Welle, die jeden Fund gegnerisch zu widerlegen versuchte. Übrig blieben sechzehn echte Fehler, darunter stiller Textverlust beim Panelwechsel, verlorene Änderungen bei Sync-Fehlern und Fehlalarme im Live-Abgleich. Alle behoben, danach mit einem echten Browser-Test an einem Wegwerf-Datensatz von Anfang bis Ende geprüft.
Warum so gebaut, die Entscheidungen
- EU-Hosting plus Allowlist: Das CRM verwaltet personenbezogene Kontaktdaten. Daten in der EU und ein Zugriffsschutz auf Datenbankebene sind hier Pflicht, nicht Kür.
- Eine Datei statt Framework: Kein Build-Zoo, keine veraltenden Abhängigkeiten, in Jahren noch wartbar. Der deterministische Bau macht jeden Stand reproduzierbar.
- Echtzeit mit Schutzgittern: Geteilte Werkzeuge scheitern am Gegeneinander-Speichern. Echo-Schutz und Stale-Schutz lösen genau das.
- Mensch an der Freigabe: KI darf recherchieren und vorformulieren, aber nichts ungeprüft nach außen schicken.
Stand, und was ehrlich noch fehlt
Das CRM läuft produktiv und ist von rund achtzig auf mehrere hundert Leads gewachsen, gepflegt von Menschen und KI zugleich. Was noch aussteht: Der eingehende Mailverkehr soll später direkt am Lead als Verlauf sichtbar werden, statt nur im Postfach. Was hier steht, beschreibt einen real gebauten, in Betrieb befindlichen Stand. Am liebsten zeigen wir das Prinzip live im Erstgespräch.
Real gebautes, produktiv genutztes System. Die genannten Werte sind tatsächliche Systemwerte, keine erfundenen Erfolgszahlen; Ergebnisse aus weiteren Projekten ergänzen wir, sobald sie vorliegen.