
Food Control
- Art
- PWA, eigener Sync
- Läuft
- hinter Login
- Tut
- Rechnet den Verbrauch aus dem Gewichtsverlauf zurück statt aus einer Formel
Alle laufen auf einem Server, den ich selbst aufgesetzt habe — manche für mich gebaut, manche für andere. Zu finden sind sie nur hier.
Zuerst die Maschine, auf der sie liegen. Ab Kapitel drei die Sachen selbst.
Kapitel eins
Ein einzelner Server, Ubuntu 24.04, 96 Gigabyte Platte, davon 52 belegt. Alles, was auf dieser Seite steht, läuft darauf. Kein Vercel, kein Netlify. Wenn hier jemand die Preise ändert, bin ich das.
Abbildung 1: Nachtaufnahme. Der Clip läuft, solange du scrollst.
Kapitel zwei
Neunzehn Cronjobs stehen in den beiden Crontabs dieser Maschine. Zwölf davon haben eine feste Uhrzeit, und alle zwölf liegen zwischen 00:15 und 05:30. Danach passiert bis Mitternacht nichts mehr Geplantes. Sie sollen fertig sein, bevor ich aufstehe.
12 Läufe · 00:15 – 05:30
Dazu kommen drei Läufe ohne feste Zeit: einer alle fünf Minuten, zwei alle fünfzehn. Die halten die Systeme im Takt, während der Rest schläft.
Kapitel drei
Sechs aus dem Register, aufgeschlagen. Das ganze Register steht unter den Tafeln.






| System | Art | Technik | Zugang |
|---|---|---|---|
| Hermes Agent | Orchestrator | Container, Cron, LLM | intern |
| AI-Memory | Wissensspeicher | Postgres, pgvector | intern |
| Wissenssystem | Wissensbasis | Markdown, Suche | intern |
| Content Studio | Pipeline | Container, Postgres | intern |
| Wintergarten-CRM | Kundensystem | Webanwendung | Kunde |
| Lead-Generator | Automation | n8n, Datenbank | intern |
| Upwork-Workflow | Automation | n8n | intern |
| VPS-Infrastruktur | Betrieb | Docker, Traefik, nginx | Fundament |
| Food Control | App | PWA, eigener Sync | Login |
| Endmyopia Vision | App | PWA, Web-Push | Login |
| Luzid | App | PWA, Lernpfad | Login |
| Anime Tracker | App | PWA, eigener Abgleich | Login |
| Alltagsmathe | App | Website, ohne Login | offen |
| Company OS | Firmensystem | Next.js, eigenes Postgres | Login |
| Zeitstrom | Feed-Reader | Erweiterung, eigene Seite | Eigenbedarf |
| Lokal Player | App | Android, lokale Bibliothek | Eigenbedarf |
| Social Downloader | App | Android, yt-dlp | Eigenbedarf |
| Browser-Extensions | Volume-Booster, X-Sidebar, Transkript | Manifest V3 | Eigenbedarf |
Vier dieser Zeilen sind Browser-Erweiterungen, die ich für mich selbst gebaut habe: ein Feed-Reader mit Später-Lesen und Web-Clipper, eine Seitenleiste für X, ein Werkzeug, das Transkripte herausholt, und ein Lautstärkeregler pro Tab. Keine davon steht in einem Store. Nicht alles im Register ist von mir gebaut — Hermes Agent und n8n sind fremde Programme, die ich eingerichtet habe und betreibe.
Kapitel vier
Auf dem Server läuft Hermes Agent, ein fertiges Agentenprogramm, das ich eingerichtet und mit meinen Aufgaben bestückt habe. Auf meinem Rechner läuft Claude. Beide schreiben in dieselben 209 Markdown-Dateien, einen Ordner, der zwischen Server, PC und Handy abgeglichen wird. Was der eine nachts notiert, liest der andere morgens, ohne dass ich etwas kopiere.
Daneben steht ein Suchindex über 20.496 Textabschnitte aus 257 Dateien, 117 davon aus meinem Drive, der Rest aus derselben Wissensbasis. Gesucht wird zweigleisig: einmal nach Bedeutung, einmal nach Wortlaut, und beide Ergebnisse werden zu einer Reihenfolge zusammengeführt. Deshalb findet die Suche auch das, wofür ich das richtige Wort nicht kenne. Der Abgleich läuft um 03:00, in derselben Nacht wie alles andere.
Die Dateien und der Index liegen auf dieser Maschine. Nach draußen geht nur die Frage selbst, um sie in einen Vektor zu übersetzen. Das ist die einzige Stelle, an der ein fremder Dienst beteiligt ist.
Und dann muss es morgen noch laufen.
Kapitel fünf
Der Unterschied zwischen einem Projekt und einem System ist der Betrieb. Wenn nachts um vier etwas stehen bleibt, muss jemand es zurückholen. Deshalb steht in diesem Register nichts, was nur einmal funktioniert hat.
Alle zwei Tage um drei Uhr nachts packt ein Skript 47 Komponenten zusammen, verschlüsselt das Archiv, bevor es den Server verlässt, und legt es außer Haus. Vierzehn Stände bleiben liegen. Einen davon habe ich einmal vollständig zurückgespielt, weil eine Sicherung, die nie zurückgelesen wurde, nur eine Datei ist. Um halb sechs vergleicht ein zweiter Lauf den Server mit dem Stand von gestern und meldet sich, wenn sich etwas geändert hat. An ruhigen Tagen schreibt er trotzdem eine Zeile ins Protokoll, damit Stille nicht mit einem toten Cronjob verwechselt werden kann.
So viel zur Maschine.
Diese Ausgabe wird gerade gelesen.
Der Apparat am Rand hat mitgeschrieben. Nicht über das System.
Über dich.
Diese Ausgabe wurde gelesen.
Nichts davon hat deinen Browser verlassen. Kein Cookie, keine Anfrage nach draußen. Die Messung lief in deinem Tab und ist vorbei, sobald du ihn schließt. Anders wäre der Rest dieser Seite auch nur eine Behauptung.
Wenn daraus etwas werden soll: Schreib mir.