WRLZ.AI / Case / Tausendkraut
Case · Content Engine · 2025–2026

Der Newsletter schreibt sich. Instagram auch.

Tausendkraut hat einen Newsletter, den die Leute wirklich lesen. Und einen Instagram-Account, der drei Wochen lang nichts zu sagen hatte. Die Pipeline, die wir gebaut haben, ändert genau das — autonom, compliance-safe, und ohne einen zweiten Publikationszyklus für den Gründer.

Client
Tausendkraut
Stack
n8n · Claude · Supabase
Build
~4 Wochen
Status
● Live, autonom
01 · Ausgangslage

Drei Baustellen, die sich gegenseitig blockieren.

Tausendkraut ist eine Naturkost-Brand mit engagierter Zielgruppe. Der Newsletter läuft wie eine Uhr — Josh schreibt, die Leute lesen. Alles darüber hinaus hakt, weil die Mechanik dahinter fehlt.

01
Der Newsletter funktioniert.
Regelmäßige Sendungen, solide Öffnungsraten, echte Gespräche in den Antworten. Content-Qualität ist nicht das Problem.
02
Instagram war dauerhaft still.
Wochenlang keine Posts. Der Kanal existiert, nur niemand betreut ihn — weil ein zweiter Publikationszyklus für einen Solo-Gründer realistisch nicht drin ist.
03
Compliance ist nicht optional.
Naturkost-Brand = HWG-Risiko. Ein einziger unüberlegter Claim (»heilt«, »hilft gegen …«) kostet Abmahngebühren im vierstelligen Bereich.
02 · Das Problem hinter dem Problem

Nicht »mehr Content«. Sondern: das, was schon da ist, zweimal nutzen.

Die naive Lösung wäre gewesen, einen Social-Media-Manager einzustellen oder ein Tool zu kaufen, das Instagram-Captions »automatisch« generiert. Beides hätte nicht funktioniert. Ein Freelancer erzeugt denselben Kostendruck nur an einer anderen Stelle. Ein generisches KI-Tool schreibt formelhafte Captions, die für eine Brand wie Tausendkraut wie ein Stock im Weizenfeld wirken — und es hat keine Ahnung, was das Heilmittelwerbegesetz ist.

Die richtige Frage war also eine andere: wie wird der Newsletter — den Josh ohnehin schreibt — zu einem zweiten Distributionskanal, ohne dass Josh einen zweiten Zyklus manuell trägt, und ohne dass wir versehentlich rechtlich angreifbar werden?

Antwort: eine Pipeline, die die Newsletter-Inhalte abgreift, in ein IG-Format übersetzt, auf Compliance prüft, Josh per Telegram zur Freigabe vorlegt und dann selbstständig publiziert. Claude schreibt die Captions, n8n orchestriert, Supabase ist das Gedächtnis, Meta Graph publiziert, ein Regex-Backstop fängt ab, was das Prompt vielleicht durchlässt.

In Systeme reingehen. Das Problem hinter dem Problem finden. Dann erst bauen.
Pascal — Gründer, WRLZ.AI
03 · Architektur

Acht Nodes im Kreislauf. Plus ein Wächter.

Jeder Newsletter-Versand startet die Pipeline. Sie läuft ohne menschlichen Eingriff — außer an einer Stelle: der Telegram-Freigabe. Das ist Absicht.

Trigger
Newsletter-Webhook
Feuert bei jedem Versand.
Transform
Response parsen
Berlin-TZ-sicher, DST-safe.
LLM
Claude Caption
Mit HWG-Prompt-Filter.
Regex
Compliance-Backstop
14 Pattern als Fangnetz.
DB
Queue-Insert
Status dynamisch gesetzt.
Human
Telegram-Approval
Ein Tap = Release.
Schedule
Publisher-Cron
09:00 & 18:00 Berlin.
API
Meta Graph Post
Live auf Instagram.
läuft · n8n Workflow-ID Y0HvMGUFV9nLsCTq + wrlz-publisher-004
04 · Die Nodes im Detail

Was jeder Knoten tatsächlich tut.

TK — Newsletter Webhook Trigger Empfängt das Sende-Event des Newsletter-Providers. Liefert Betreff, Body, Versandzeitpunkt.
TK — Response parsen Transform Extrahiert den relevanten Block aus dem Newsletter-HTML. Berechnet den nächsten Berlin-Publikations-Slot via Intl.DateTimeFormat mit Timezone-Shortoffset — funktioniert DST-sicher ohne Hardcoding.
Claude — Caption + Compliance LLM Generiert eine markenkonforme IG-Caption aus dem Newsletter-Inhalt. Prompt enthält explizite HWG-Regeln: keine Heilversprechen, keine medizinischen Funktionsclaims, keine Hildegard-Mystik.
TK — HWG Regex Backstop Validate 14 Regex-Pattern gegen Claude's Output — das Fangnetz, falls das Modell kreativ wird. Matches: heilt, lindert, schützt vor, hilft gegen [X], Hildegard.*heil, einzelne Krankheitsnamen.
TK — Queue Insert DB Schreibt den Draft in content_queue (Supabase). Status wird dynamisch gesetzt: approved wenn clean, needs_legal_review wenn geflaggt — inkl. der gefundenen flagged_terms.
TK — Approval-Gate (Telegram) Human Schickt Josh den Draft als Telegram-Nachricht mit Bild-Link + Caption + Reply-Buttons. Ein Tap auf ✓ setzt approved_at = now(), ein Tap auf ✗ setzt rejected_at.
WRLZ — Publisher Schedule Cron 0 9,18 * * * in Europe/Berlin. Zieht den nächsten Eintrag mit status=approved und scheduled_for ≤ now. Catch-up-Cron */30 * * * * fängt verpasste Slots ab.
Meta — Graph Post API Publisht via Instagram Graph API. Long-lived Token, automatischer Container-Upload bei Carousel-Posts, Error-Retry bei 429.
WRLZ — Error Handler Monitor Globaler errorTrigger-Workflow — fängt jede ungelöste Exception, schreibt in Telegram-Admin-Channel mit Workflow-Name und Stack-Trace-Fragment.
05 · Deep-Dive · HWG-Compliance

Zwei Schichten, weil das Modell Fehler macht.

Das Heilmittelwerbegesetz (HWG) verbietet in der Werbung für Lebensmittel und Nahrungsergänzungsmittel bestimmte Claims — allen voran alles, was nach medizinischer Wirkung klingt. Für eine Naturkost-Brand ist das keine Grauzone, sondern Abmahngefahr. Ein Social-Media-Post, der »hilft gegen Erkältung« sagt, kostet leicht 2 000 bis 5 000 €.

Claude ist gut, aber nicht perfekt. Ein reiner Prompt-Filter genügt nicht: Modelle können kreativ werden, besonders wenn der Quelltext emotional oder poetisch formuliert ist. Wir brauchen einen Backstop — deterministisch, schnell, transparent.

Die 14 Regex-Pattern

// Auszug aus TK — HWG Regex Backstop
const HWG_PATTERNS = [
  /\bheilt\b/i, /\bheilend\b/i, /\bheilung\b/i,
  /\blindert\b/i, /\bschützt\s+vor\b/i,
  /\bhilft\s+gegen\b/i,
  /\bgegen\s+(erkältung|krebs|demenz|grippe|diabetes|krankheit)\b/i,
  /\b(?:hildegard|klostermedizin).{0,20}heil/i,
  /\bfunktions?[-\s]?claim\b/i,
  /\bentzündungshemmend\b/i, /\bkrebshemmend\b/i,
  /\bantiviral\b/i, /\bantibakteriell\b/i,
  /\b(?:lungen|herz|nieren|leber)\W{0,5}stärkend\b/i,
];

Jedes Match wird gesammelt, in flagged_terms gespeichert und setzt den Queue-Status auf needs_legal_review. Der Post wird nicht automatisch publiziert, sondern wartet auf manuelle Sichtung.

Unit-Test

Fünf Bait-Captions, vier davon bewusst HWG-kritisch konstruiert. Das System hat 4 von 4 Trigger gefangen, die eine clean-Caption ging unberührt durch. Regex-Backstop tut, was er soll.

Als Open-Source veröffentlicht

Die 14 Patterns, eine n8n-Code-Node-Integration und 12 Tests liegen als MIT-lizenziertes npm-Modul auf GitHub: github.com/pasco1280/hwg-guard. Wer selbst eine DACH-Naturkost-Brand automatisiert und einen Backstop braucht, kann das Teil einfach einbauen — npm i hwg-guard, Claude davorschalten, fertig.

06 · Wirkung

Zahlen, die wir tatsächlich messen. Nicht versprechen.

~14/Monat
IG-Posts autonom publiziert — vorher 0–2/Monat manuell, sporadisch.
3min/Tag
Josh's Aufwand für Approval — vorher ~90 min für manuelle Übertragung.
0
HWG-Claims durchgerutscht in Unit-Tests und seit Go-live.
DST-safe
Timezone-Handling via Intl.DateTimeFormat — keine Sommerzeit-Überraschungen.

Eingebaut sind außerdem: ein globaler Error-Handler, der jeden Fehler in einen Telegram-Admin-Channel meldet; ein Catch-up-Cron, der verpasste Publikations-Slots einholt; ein Health-Check-Endpoint für externes Monitoring. Alles Dinge, die ein Template-Workflow nicht mitbringt.

07 · Was wir gelernt haben

Ein KI-System ist nur so gut wie sein Fangnetz.

Der wichtigste Satz beim Bauen war nicht »wie bringen wir Claude dazu, bessere Captions zu schreiben?« — sondern »wie fangen wir ab, wenn Claude sich vertut?«. Jeder automatisierte Workflow, der juristisch oder finanziell relevant wird, braucht eine deterministische Kontrollschicht. Prompt Engineering reicht nicht.

Der zweite Satz: Menschen behalten die letzte Zustimmung. Das Telegram-Approval ist kein Bug, sondern Feature. Es ist der Punkt, an dem der Mensch die Richtung der Marke schützt. Dauert drei Minuten am Tag — und genau deshalb funktioniert es.

Der dritte: Architektur vor Features. Wir hätten zwei Monate in Bild-Generierung und Video-Cutting investieren können, bevor der Basis-Kreislauf lief. Das wäre falsch gewesen. Erst muss die Pipeline stabil Newsletter-in-Post-out liefern, dann können wir den Anhang erweitern.

Tech-Stack im Überblick
n8n (self-hosted) Claude API Supabase Postgres Meta Graph API Telegram Bot API Caddy Reverse-Proxy Docker Compose Hetzner CX23

Du hast auch einen Newsletter, der nur in einem Kanal lebt?

48 Stunden Setup, Festpreis, kein Abo. Lass uns sprechen.