Zurück zum Blog

Wie wir Sutram nutzen, um unsere eigene Website zu betreiben

By Sergio Vieira Greve
Wie wir Sutram nutzen, um unsere eigene Website zu betreiben

Dogfooding vom Feinsten: Sutram liefert seinen eigenen Blog und seine Dokumentation in sechs Sprachen


Die Prämisse

Es gibt ein Sprichwort in der Softwareentwicklung: Wenn Sie Ihr eigenes Produkt nicht benutzen würden, warum sollte es jemand anderes tun? Bei Sutram haben wir uns das zu Herzen genommen. Unsere Marketing-Website — die, die Sie gerade lesen — wird vollständig von Sutrams eigener Content-Infrastruktur betrieben.

Jeder Blogbeitrag, jede Dokumentationsseite, jedes Stück Inhalt, das Sie hier sehen, wird in einem Sutram-Projekt gespeichert, organisiert und ausgeliefert. Das ist keine Demo. Das ist Produktion.

Die Architektur

Die Website ist mit Astro gebaut, einem modernen statischen Website-Generator. Zur Build-Zeit ruft Astro die Sutram REST API auf, um alle Inhalte abzurufen, rendert sie in statisches HTML und deployt auf Netlify. Keine Laufzeit-Abhängigkeiten, keine Datenbankabfragen beim Seitenaufruf — nur schnelle, vorgebaute Seiten.

Der Content-Fluss sieht so aus:

Sutram-Projekt
  └── /{lang}/Blog/{year}/{post-slug}/
  │     ├── post.md          (Markdown-Body)
  │     └── cover.jpg         (Titelbild, optional)
  └── /{lang}/Docs/{category}/{doc-slug}/
        └── guide.md          (Markdown-Body)

        ↓  Sutram REST API  ↓

Astro (Build-Zeit)
  → Ordner + Tags abrufen
  → Markdown-Dateien herunterladen
  → Titelbilder in WebP konvertieren
  → in statisches HTML rendern

        ↓  Deploy  ↓

Netlify (CDN)

Sechs Sprachen, eine Struktur

Die Website unterstützt sechs Sprachen: Englisch, Portugiesisch, Spanisch, Französisch, Deutsch und Italienisch. Anstatt separate Content-Systeme zu pflegen oder Ordnerhierarchien zu duplizieren, verwenden wir eine einfache Konvention: Die Sprache ist die Wurzel.

/en/Blog/2026/how-we-use-sutram/
/pt/Blog/2026/como-usamos-o-sutram/
/es/Blog/2026/como-usamos-sutram/

Jede Sprache hat ihren eigenen Blog- und Docs-Ordner in Sutram. Der API-Client ordnet Sprachcodes Ordner-IDs zu und ruft die Inhalte entsprechend ab — kein Tag-Filtern, keine komplexe Routing-Logik. Der Ordnerpfad ist die Sprache.

Die UI-Strings der Website (Navigation, Buttons, Beschriftungen) werden separat über JSON-Übersetzungsdateien gehandhabt, aber alle inhaltlichen Texte — die Beiträge und Dokumente, die Sie tatsächlich lesen — leben in Sutram.

Metadaten als Tags

Jeder Content-Ordner in Sutram trägt Metadaten als Tags — einfache Schlüssel-Wert-Paare, die am Ordner selbst angehängt sind:

Tag Zweck
title Anzeigetitel des Beitrags oder Dokuments
author Name des Autors
excerpt Kurzbeschreibung für Auflistungen und SEO
category Inhaltskategorie (z. B. „Engineering", „Produkt")
published_at Veröffentlichungsdatum (steuert Sichtbarkeit und Sortierung)

Dies ist eine der Kernfunktionen von Sutram: strukturierte Metadaten für jeden Ordner, ohne starre Schemata. Der API-Client liest diese Tags, um Auflistungsseiten, Kategoriefilter und RSS-Feeds zu erstellen — alles zur Build-Zeit.

Titelbilder mit automatischer Optimierung

Blogbeiträge können ein Titelbild als Datei im Beitragsordner enthalten. Beim Build macht der Astro-Client Folgendes:

  1. Erkennt die erste Bilddatei im Ordner
  2. Lädt sie über die Sutram API herunter
  3. Konvertiert sie mit sharp ins WebP-Format
  4. Skaliert auf 1200x630 (optimiert für Social Sharing)
  5. Speichert sie im statischen Ausgabeverzeichnis

Das bedeutet, Autoren legen einfach ein Bild in den Sutram-Ordner — kein manuelles Verkleinern, keine Formatkonvertierung, keine CDN-Konfiguration.

Inhaltsverwaltung mit KI und MCP

Hier wird es interessant. Wir verwenden keine traditionelle CMS-Oberfläche zum Schreiben und Veröffentlichen von Inhalten. Stattdessen nutzen wir Claude Code mit dem Sutram MCP Server.

Der Arbeitsablauf:

  1. Einen Beitrag in Markdown schreiben oder übersetzen (oft mit Hilfe von Claude Code)
  2. Den Zielordner in Sutram über sutram_create_folder erstellen
  3. Die Metadaten-Tags über sutram_set_folder_tags setzen
  4. Die Markdown-Datei über sutram_request_upload + sutram_confirm_upload hochladen
  5. Einen Netlify-Build auslösen

All das geschieht vom Terminal aus, in einer einzigen Konversationssitzung. Kein Browser, keine Formularfelder, kein Kopieren. Der KI-Agent liest den Inhalt, erstellt die Ordnerstruktur, setzt die Tags, lädt die Datei hoch, und die Website baut sich automatisch neu auf.

Genau dieser Beitrag wurde geschrieben, ins Portugiesische übersetzt und mit genau diesem Workflow auf Sutram veröffentlicht.

Der API-Client

Das Herzstück der Integration ist eine einzelne TypeScript-Datei (sutram.ts), die als Brücke zwischen Sutram und Astro fungiert. Sie übernimmt:

  • Content-Erkennung — durchläuft Sutram-Ordner rekursiv, um Content-Records zu finden (jeden Ordner mit einem title-Tag)
  • Markdown-Abruf — lädt die erste .md-Datei aus jedem Content-Ordner herunter
  • Bildverarbeitung — konvertiert Titelbilder in optimiertes WebP
  • Mock-Daten-Fallback — gibt Platzhalterinhalte zurück, wenn keine API-Zugangsdaten konfiguriert sind (für die lokale Entwicklung)

Der Client umfasst etwa 460 Zeilen TypeScript. Kein Framework, kein ORM, keine Abstraktionsschichten — nur fetch-Aufrufe an die Sutram API und sharp für die Bildverarbeitung.

Warum das wichtig ist

Dogfooding geht nicht nur um Glaubwürdigkeit. Es zwingt uns, dieselben Reibungspunkte zu erleben wie unsere Benutzer. Jede raue Kante in der API, jede fehlende Funktion, jedes verwirrende Verhalten — wir spüren es zuerst.

Einige Dinge, die wir durch die Nutzung von Sutram für unsere eigene Website entdeckt und verbessert haben:

  • Tag-basierte Content-Erkennung funktioniert besser als starre Ordnerbenennungskonventionen
  • Rekursive Ordner-Traversierung ist unverzichtbar für flexible Content-Hierarchien
  • Der MCP Server macht Content-Management vom Terminal aus nicht nur möglich, sondern vorzuziehen für technische Teams
  • Sprachspezifische Ordnerwurzeln sind einfacher als tag-basierte Sprachfilterung

Die Zahlen

Metrik Wert
Unterstützte Sprachen 6 (en, pt, es, fr, de, it)
Inhaltstypen 2 (Blogbeiträge, Dokumentation)
API-Aufrufe pro Build ~20-30
Build-Zeit < 30 Sekunden
Laufzeit-JavaScript 0 (statisches HTML)
Verwendete CMS-Oberfläche Keine (MCP + Terminal)

Fazit

Sutram für unsere eigene Website zu nutzen, ist das stärkste Statement, das wir über die Plattform machen können. Es ist kein Spielprojekt oder ein Proof of Concept — es ist das Produktionssystem, das jede Seite ausliefert, die Sie hier sehen.

Wenn Ihr Inhalt Struktur braucht, Ihr Team Kontrolle braucht und Ihr Workflow von Automatisierung profitiert — Sutram wurde genau dafür gebaut. Und wir beweisen es jeden Tag, angefangen mit genau dieser Seite.