berndt.codes

SmartOffice

Produkt
KI-Voicebot-Plattform
Bei
SUSI&James
Zeitraum
07.2023 bis heute
Rolle
Lead Developer
Team
drei bis fünf Entwickler

Eine Plattform für KI-gestützte Telefon-Dialoge. Digitale Mitarbeiter nehmen Anrufe entgegen, erfassen Anliegen, beantworten Fragen und vereinbaren Termine, und die anrufstärksten Systeme verarbeiten dabei bis zu hundert Gespräche in der Stunde. Ich bin bei Version 2 dazugekommen und habe das Produkt bis Version 4 mitgetragen.

Ausgangslage

Als ich anfing, hatte SmartOffice, heute Spark, bereits einen Kundenstamm und war gerade auf Version 2 gegangen. Ich war einer von zwei Senioren im Team, und mein Auftrag war von Anfang an zweigeteilt: am Produkt bauen und dem Team Seniorität geben. Beides hat sich über die drei Jahre durchgezogen.

Die Schicht, die man nicht merken darf

Sprache rein und Sprache raus sind der Kern des Produkts, und beides kommt von externen Anbietern. Die Anforderung an die Schicht dazwischen war deshalb hoch: Sie muss für viele parallele Anrufe skalieren, den Ausfall einzelner Anbieter verkraften und beliebige weitere Anbieter aufnehmen können, alles bei möglichst niedriger Latenz.

Die eigentliche Kunst lag darin, dass man diese Schicht nicht merkt. Zwischen Telefonie und dem Anbieter für Speech-to-Text und Text-to-Speech liegt eine Abstraktion, die im Gespräch unsichtbar bleibt und sich trotzdem vollständig über die Oberfläche steuern lässt: Stimme, Sprache, Anbieter, Sprechgeschwindigkeit, Toleranz für Sprechpausen. Wer einen digitalen Mitarbeiter einrichtet, konfiguriert Verhalten, nicht Technik.

Produkt und Team reifer gemacht

An praktisch jedem Touchpoint des Produkts ging es mir darum, es aufzuräumen und konkurrenzfähiger zu machen. Über meine Zeit ist es modularer geworden: einzelne Verantwortlichkeiten sind in eigene, fokussierte Services gewandert, deren Zusammenspiel über Events entkoppelt ist. Das legt den Boden, um künftig besser zu skalieren. Die Usability habe ich dabei konsequent geschützt, auch dann, wenn dafür Funktionen weichen mussten, die Nutzer mehr belastet als entlastet haben.

Der zweite Teil des Auftrags war das Team. Ich habe Code-Reviews, Testing und ein verlässliches Entwicklungsvorgehen etabliert und die jüngeren Entwickler im Alltag begleitet und gecoacht. Was davon geblieben ist, ist das, worauf ich am meisten gebe: Das Team ist erwachsener und selbstständiger geworden. Es weiß, wie ein guter Entwicklungsprozess läuft, und fordert ihn inzwischen selbst ein.

Meine Rolle

Lead Developer und einer von zwei Senioren. Ich habe an praktisch jedem Touchpoint des Produkts gearbeitet, Architekturentscheidungen mitgetragen und SmartOffice über drei Hauptversionen begleitet, technisch und in der Art, wie das Team zusammenarbeitet.

Ergebnis

  • Version 2 → Version 4Das Produkt ist über meine Zeit gewachsen und dabei aufgeräumter, modularer und für künftiges Skalieren besser aufgestellt.
  • Bis zu 100 Gespräche/StundeSo viel Last verarbeiten die anrufstärksten Kundensysteme im laufenden Betrieb.
  • Anbieterunabhängige SprachschichtSpeech-to-Text und Text-to-Speech laufen über eine Abstraktion, die sich vollständig über die Oberfläche konfigurieren lässt.
  • Team arbeitet selbstständigerEs fordert einen guten Entwicklungsprozess inzwischen von sich aus ein.

Womit

  • Python
  • FastAPI
  • React
  • PostgreSQL
  • Docker
  • NATS
  • OpenAI
  • Twilio
  • Vonage
  • Azure
  • Google Cloud
  • Hetzner

Zurück zum Werdegang