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.

Plaud - Private KI-Wissensplattform

Dokumente und Medien jeder Art - PDFs, Video, Audio, Bilder und mehr - werden durchsuchbar, zusammengefasst und befragbar, mit Inferenz, die meine eigene Infrastruktur nie verlässt.

Problem

Nützliches Wissen sammelt sich in Formaten an, die niemand durchsuchen kann: stundenlange Aufzeichnungen von Calls und Vorlesungen, gescannte PDFs, Videos, Fotos auf dem Handy. Cloud-Assistenten können es zusammenfassen und Fragen dazu beantworten, aber erst, nachdem jede Datei auf fremde Server hochgeladen wurde - womit sie für private Notizen, Kundenmaterial oder alles unter NDA ausscheiden.

RAGLocal inferenceMultimodal ingestionDevice syncDurable processing queueMulti-user isolation

Architektur

  • Eine Schnittstelle für jedes Modell. Generierung, Embeddings, Transkription und Bildverarbeitung liegen hinter einem einzigen, anbieterunabhängigen Vertrag. Welche Engine antwortet und wo sie läuft, ist eine Deployment-Entscheidung, keine Code-Abhängigkeit.
  • Jedes Gerät ist ein Ingest-Kanal. Ein Gerät verbindet sich mit eigenen, rotierbaren Zugangsdaten und sieht einen virtuellen Namensraum, der nur seine eigenen Dateien enthält. Der Transport ist ein austauschbarer Kanal, nicht die Architektur: Ein Handy anzubinden ist eine Zeile in einer Tabelle, auf dem Host wird nichts eingerichtet.
  • Nichts wird bestätigt, bevor es dauerhaft gespeichert ist. Ein Backup-Client markiert ein Foto als synchronisiert, sobald die Übertragung geschlossen wird - also gelingt das Schließen erst, wenn Bytes und Datensatz committet sind. Duplikate werden am Inhalt erkannt, nicht anhand dessen, woran sich der Client zu erinnern glaubt.
  • Verarbeitung ist eine Queue, kein Request. Atomares Claiming mit Lease: Worker skalieren horizontal, ein Absturz mitten in einer Datei ist behebbar, und ein Reconciler repariert, was ein Absturz hinterlassen hat. Schwere Medien laufen out-of-band und melden sich per Callback zurück, sodass die API nie auf eine Transkription wartet.
  • Retrieval ist ein Vertrag, kein Top-k-Aufruf. Chunks unterhalb eines Relevanzwerts erreichen das Modell nie - eine schwache Frage liefert nichts statt einer selbstsicheren Antwort aus Rauschen. Text- und Bildähnlichkeit werden auf getrennten Skalen bewertet; ein gemeinsamer Schwellenwert für zwei Embedding-Räume ist ein Bug, keine Vereinfachung.
  • Gebaut, um schlechten Input zu überstehen. Eine mehrstufige Extraktionskette mit OCR als Fallback, und nicht unterstützte Formate werden in einem expliziten Zustand geparkt, statt den ganzen Batch scheitern zu lassen.
  • Struktur wird vorgeschlagen, nie aufgezwungen. Zusammengehörige Einträge werden erkannt und als Serie angeboten; ein Mensch bestätigt. Das Auto-Tagging verwendet zuerst das bereits genutzte Vokabular, bevor es neue Begriffe erfindet, und manuelle Änderungen überstehen eine erneute Verarbeitung.

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.