yk.camelcase.work

Aktuelle Arbeiten

Aktuelle Produkte, von Anfang bis Ende gebaut. Jeder Eintrag nennt die technische Entscheidung, die ihn geprägt hat - nicht die Liste der Features.

Jedes der folgenden Projekte begann mit einem echten Problem. Ab da ist die Rolle immer dieselbe: Produktkonzept, Systemarchitektur, Implementierung, Infrastruktur, Deployment und Continuous Delivery - jedes Produkt entwickelt sich lange über sein erstes Release hinaus weiter.

Soulve - Mehrsprachiges Backend für Journaling und Reflexion

Soulve ist ein Journaling-System, das auf jeden Eintrag mit der nächsten Frage antwortet und ein persönliches Porträt aus Verhalten statt aus Fragebogenantworten aufbaut. Ich habe es um einen einzigen transaktionalen Speicher herum entworfen, um einen Sicherheitspfad, der läuft, bevor irgendeine Antwort geschrieben wird, und um Spracheingabe, deren Transkript erst als vertrauenswürdig gilt, wenn der Autor es bestätigt. Die ethischen Regeln sind Konstanten im Code, keine Einstellungen.

Problem

Sich selbst von innen zu verstehen ist schwer: Dieselben Reaktionen, Entscheidungen und Muster wiederholen sich im Job und in Beziehungen, und am leichtesten erkennt man sie erst im Rückblick. Aufschreiben hilft, aber ein Tagebuch antwortet nie - es stellt nicht die nächste Frage, bemerkt nicht, was immer wieder auftaucht, und erinnert sich nicht daran, was man vor drei Monaten geschrieben hat.

Semantic recallPostgreSQL with pgvectorStreamed repliesFastAPI, server-sent eventsDeferred analysisCelery workers, Redis working memoryMultilingual emotion analysiszero-shot transformer plus lexiconsProsodic voice descriptorsspeech activity detection, eGeMAPSAdapter-based style tuningLoRA, preference optimization

Architektur

  • Ein Speicher statt spezialisierter Dienste. Vektoren, Dokumente und relationale Daten liegen in einer transaktionalen Datenbank, sodass ein Eintrag und das Porträt, das er aktualisiert, gemeinsam committet werden. Ein eigener Vektordienst hätte diesen Schreibvorgang auf Systeme ohne gemeinsame Transaktion verteilt.
  • Die Risikoprüfung kommt vor der Antwort. Eine deterministische Schicht läuft, bevor irgendetwas zurückgeschrieben wird, und kann den Gesprächszug allein beenden; aufwendigere Prüfungen greifen nur, wenn sie nichts meldet. Auf der höchsten Risikostufe endet der Dialog, statt weiterzulaufen.
  • Keine Analyse blockiert die Antwort. Emotionsanalyse, Embeddings und Schreibvorgänge ins Porträt laufen erst, nachdem der Stream geschlossen ist, sodass die Latenz nur von der Antwort abhängt. Das Porträt wächst inkrementell, mit einem periodischen vollständigen Neuaufbau als Abgleich gegen abgedriftete Zähler.
  • Audio überstimmt nie die Valenz des Textes. Die Prosodie korrigiert das Sentiment nur nach unten und nur begrenzt und markiert Sarkasmus oder Unterdrückung, statt mitzustimmen. Bei Erregung und Dominanz sind die Rollen umgekehrt, und jede fusionierte Dimension trägt ihre eigene Herkunft.
  • Spracheinträge brauchen eine ausdrückliche Bestätigung. Ein Upload wird zu einem unsichtbaren Entwurf: transkribiert, aber bis zur Bestätigung nicht im Journal und nie analysiert. Der Preis ist eine zweite Zustandsmaschine plus ein Aufräumjob für verlassene Entwürfe.

Editron

Ein API-first-Dienst zur Texttransformation. Der eigene Web-Editor ist ein First-Party-Client derselben öffentlichen API und darf sie nicht umgehen - genau das hält die Integrationsschnittstelle ehrlich; die Verarbeitungs-Engine ist hinter einem internen Vertrag austauschbar, Mandantenfähigkeit, API-Keys, Kontingente und Nutzungsabrechnung sind von Anfang an mitgedacht, dazu kommt ein veröffentlichtes TypeScript-SDK.

Lernklang

Eine zugangsgeschützte Hörplattform zum Sprachenlernen mit einem Analyse-Dashboard für Schulen. Ein Image, drei Rollen: Geplante Aufgaben laufen in einem eigenen Container, sodass ein Neustart oder Skalieren der Web-App nie einen Job überspringt oder doppelt ausführt - und die Konfiguration wird beim Start validiert: Bei einer ungültigen Variable startet der Prozess gar nicht erst, statt in der Produktion still zu scheitern.

Herald

Themengesteuertes Sammeln, Verarbeiten und Ausliefern von Nachrichten. Die Deduplizierung greift bei der Auslieferung, pro Kanal über einen Content-Hash mit der URL als Fallback innerhalb eines gleitenden Zeitfensters, sodass syndizierte und live aktualisierte Artikel nie zweimal verschickt werden; jeder Artikel ergibt drei unabhängig erzeugte Formate, jedes mit der exakten Pipeline-Version versehen, die es erstellt hat - für Reproduzierbarkeit und Kostenabrechnung.

Kleinere Produkte und gezielte Experimente gehören zur selben Praxis: Mit ihnen lässt sich eine Idee, ein Interaktionsmuster oder ein neuer Workflow schnell validieren, bevor man sich auf ein größeres System festlegt.