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.

Veranda Dialogues - Webdienst für Sprachpraxis und Prüfungsvorbereitung

Veranda Dialogues ist ein Webdienst, um eine Fremdsprache im Live-Dialog mit einem KI-Partner zu üben, dazu eine wachsende Zahl unabhängiger Übungsmodule - Karteikarten mit Spaced Repetition, Trainer für Wortstellung und Pronomen, bild- und textbasierte Lernmodi sowie ein vollständiger Prüfungsmodus. Der Prüfungsmodus erzeugt komplette Hör- und Lesetests mit Audio und druckbaren Heften, für jede Karte einzigartig. Der größte Teil der technischen Arbeit steckt nicht darin, Inhalte zu generieren, sondern darin, generierte Inhalte so verlässlich zu machen, dass man sie drucken und bewerten kann.

Problem

Eine Sprache fühlt sich erst dann wie die eigene an, wenn man sie spricht, doch ein Gesprächspartner auf dem eigenen Niveau, mit Zeit und Geduld, ist schwer zu finden - und die Übungen in jedem Lehrbuch oder jeder App gehen lange vor dem Lernbedarf aus. Dieselbe Lücke zeigt sich vor einer Prüfung wie dem DTZ: Offizielle Übungstests sind schnell aufgebraucht, und Lernende lernen am Ende Antworten auswendig, statt Hören und Lesen zu trainieren.

Exam paper generationFastAPI, CeleryGenerated-item verificationLLM-as-judgeStatistical quality gatesSpaced repetitionper-mode SM-2Speech synthesis routingper-feature enginesInterface localization17 locales

Architektur

  • Der Prüfer löst, statt zu validieren. Zeigte man dem Modell den Lösungsschlüssel und fragte, ob er stimmt, redete es fehlerhafte Aufgaben schön und ließ sie durch. Sollte es die Frage stattdessen blind beantworten und jede vertretbare Option auflisten, fand es jede fehlerhafte Aufgabe; das Urteil folgt dann mechanisch aus seiner Wahl.
  • Konservativ nur in eine Richtung. Eine falsche Ablehnung vernichtet eine einwandfreie Aufgabe, während eine falsche Annahme nur den Status quo erhält, daher liefert jeder Fehlerpfad - nicht erreichbarer Anbieter, fehlerhafte Antwort, Antwort außerhalb des Wertebereichs - ein Bestanden, und eine Ablehnung verlangt sowohl einen benannten Mangel als auch eine hohe angegebene Konfidenz.
  • Einschränkungen gehören in den Code. Eine Prompt-Zeile, die begrenzte, wie oft sich eine grammatische Kategorie über die Lücken hinweg wiederholen darf, war nur eine Empfehlung und wurde stillschweigend ignoriert. Jetzt deklariert das Modell pro Lücke eine Kategorie, und der Server verwirft den gesamten Aufgabensatz, wenn die Streuung zu gering ist.
  • Timeouts, die schon angekommen sind. Ein Read-Timeout bedeutet, dass die Anfrage die Engine erreicht hat und noch generiert wird; ein erneuter Versuch startet einen doppelten Job auf einer Maschine, die nur einen auf einmal verarbeitet. Solche Fehler schlagen jetzt schnell und einzeln fehl, stattdessen läuft die Generierung serialisiert.
  • Getrennte Screens statt gemeinsamer Verzweigungen. Ein zweites Prüfungsformat per Verzweigung im funktionierenden einzubauen, gefährdete ein Format, das Lernende bereits nutzten. Deshalb bekam das neue einen eigenen Dienst und einen eigenen Screen-Baum hinter einer expliziten Liste unantastbarer Dateien, per Diff überprüft.

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.