Zum Hauptinhalt springen
StudioMeyer
Warum ich matthiasmeyer.tech gebaut habe
Zurück zum Blog
KI & Automatisierung 4. Mai 2026 10 min Lesezeitvon Matthias Meyer

Warum ich matthiasmeyer.tech gebaut habe

Eine weitere Domain neben studiomeyer.io fuer die Open-Source-Haelfte der Arbeit. 22 Repos, 6 Erklaer-Posts, 3D-Force-Graph als Hero, AI-Ready Discovery von Tag eins, Build-Time GitHub-Stats. Live in einer Sonntags-Session.

Ich habe heute eine weitere Domain live geschaltet. Keine Sub-Page, keine Subdomain, eine eigenstaendige Site auf matthiasmeyer.tech. Sie existiert fuer einen einzigen Zweck: die Open-Source-Repos zu erklaeren die ich als Maintainer pflege, mit eigener Stimme, ohne mit dem Studio zu konkurrieren das die Rechnungen bezahlt. In einer Sonntags-Session live, von der DNS-Aenderung bis zum letzten Cert. Dieser Artikel ist halb Build-Bericht, halb Argument warum Solo-Founder mit eigener Firma ihre persoenliche Marke von der Firmen-Marke trennen sollten, halb Spaziergang durch das was tatsaechlich drin ist: 22 Repositories, 6 Erklaer-Posts, ein 3D-Force-Graph als Hero, Build-Time-GitHub-Stats damit die Zahlen frisch bleiben, und der AI-Ready-Discovery-Layer den jede Seite die ich heute baue standardmaessig mitbringt.

Es gab gegen Mitternacht den Moment, in dem die Live-URL zum ersten Mal sauber durchkam, alle 22 Repos im Graph sichtbar, die Cyan-Partikel an den Kanten in Bewegung, und mir wurde klar dass die Site sowohl technisch sauberer ist als studiomeyer.io als auch kleiner im Scope. Das ist der ganze Punkt. Studio ist fuer Kunden. Academy ist fuer Lernende. matthiasmeyer.tech ist fuer die Open-Source-Haelfte der Arbeit, und diese Haelfte hat als Sub-Page der Firmen-Site zu lange in der Ecke gestanden.

Hier ist was gebaut wurde, warum es da liegt wo es liegt, und welche Patterns ich aus dem Studio-Stack uebernommen habe damit die ganze Sache in eine einzige Session gepasst hat.

Warum eine weitere Domain

Das Argument fuer Trennung von persoenlicher Marke und Firmen-Marke ist nicht neu. Guillermo Rauch betreibt rauchg.com neben vercel.com. Lee Robinson betreibt leerob.com neben vercel.com. Dax Raad fuehrt dax.dev neben sst.dev. Das Pattern funktioniert weil persoenliche Stimme und Firmen-Stimme verschiedene Audiences bedienen. Vercel verkauft Deployment. Rauch schreibt ueber System-Denken und React-Internals. Beides verstaerkt sich gegenseitig, ohne sich zu verwaessern.

Bei mir sieht der Split so aus. studiomeyer.io ist eine deutsch-spanisch-englische Studio-Site die Custom-Webdesign und KI-Systeme an Kunden in DACH und auf Mallorca verkauft. 1500 Bing-Copilot-Citations, ein Long-Form-Blog in drei Sprachen, eine konkrete Pricing-Seite. studiomeyer.academy ist die Lern-Seite, Recipes und Lessons fuer Builder die den AI-Stack verstehen wollen den wir nutzen. matthiasmeyer.tech ist das dritte Bein. Die Open-Source-Haelfte. Die Repos selbst, in erster Person erklaert, mit Architektur-Notizen und Trade-offs, ohne das Sales-Geruest das die Studio-Site funktionieren laesst.

Die SEO-Puristen wuerden sagen pack alles in Subdirectories unter studiomeyer.io fuer Authority. Sie haben recht was Authority-Transfer abstrakt angeht. Sie irren sich was Audience angeht. Ein Developer der via npm auf local-memory-mcp landet und sich durch die Architektur lesen will ist nicht dieselbe Person die ein Custom-Website-Projekt bucht. Beides auf einer Surface erzwingt Kompromisse in beide Richtungen. Zwei Domains mit expliziten Cross-Links in Header und Footer loesen das Audience-Problem und akzeptieren den kleinen Authority-Verlust als Kosten.

Was tatsaechlich drin ist

22 Repositories liegen auf der GitHub-Org. Acht davon sind Eckpfeiler in dem Sinne dass alles andere auf einem von ihnen aufbaut oder mit einem von ihnen pairt. Die anderen 14 sind Conformance-Harnesses, n8n-Bridges, SaaS-Connectors und Security-Erweiterungen die an den Eckpfeilern haengen.

Der Memory-Cluster hat ein Repo. local-memory-mcp ist ein 13-Tool-MCP-Server der Claude, Cursor und Codex persistentes Memory gibt mit SQLite, FTS5 und kleinem Knowledge-Graph als Backend. Lokal, keine Cloud, keine API-Keys. Die hosted SaaS-Variante ist studiomeyer-memory auf memory.studiomeyer.io fuer Builder die multi-tenant brauchen.

Der Agenten-Cluster hat drei Eckpfeiler plus einen Connector. mcp-personal-suite ist ein 49-Tool-Set fuer Email, Calendar, Messaging, Search und Image Generation, BYOK, kein Signup. agent-fleet ist der Orchestrator der spezialisierte Agenten parallel laufen laesst fuer Research, Critique, Analysis. darwin-agents ist die Experimentier-Schicht die Prompts via A/B-Testing und Judge-Arbitrated-Scoring evolviert. Der Connector mcp-studiomeyer-agents laesst Pro-Tier-Kunden vom StudioMeyer-Agents-Service ihre Audit-Daten lesen und Agent-Configs aus dem eigenen Claude oder Cursor heraus tweaken.

Der Security-Cluster hat zwei Eckpfeiler, plus den frischen Python-Port und einen Attestation-Layer. ai-shield ist ein Zero-Dependency LLM-Security-Toolkit, Prompt-Injection-Detection, PII-Masking, Cost-Tracking, Tool-Policies, Sub-25ms-Scans. ai-shield-py ist der Python-Port den ich vor zwei Tagen gepublished habe fuer FastAPI- und LangChain-Projekte, gleiche Defense-Surface, andere Framework-Hooks. mcp-armor ist der Rust-Sidecar der jeden MCP-Server umgibt und Ed25519-signierte Manifests validiert, Sub-5ms-p99-Overhead, schuetzt vor Supply-Chain-CVEs die das OX-Security-Advisory im April dokumentiert hat. mcp-server-attestation ist die TypeScript-Schwester von mcp-armor fuer Teams die in Node bleiben wollen.

Der Media-Cluster hat ein Repo. mcp-video wickelt ffmpeg und Playwright in acht Tools fuer Recording, Editing, Captions, TTS und Smart-Screenshots. Der unwahrscheinlichste MCP-Server den ich vor zwei Jahren vorhergesagt haette und am Ende der nuetzlichste fuer Marketing-Automation.

Der Workflow-Cluster hat einen Eckpfeiler, zwei Erweiterungen. n8n-templates liefert hardened Workflows mit Cross-Session-Memory eingebaut, Voice-Agents, Customer-Support, Personal-Assistants, Multi-Provider-LLM-Routing. n8n-nodes-studiomeyer-memory ist der n8n-Community-Node der diese Templates ans Memory-Backend bridgt. n8n-workflows ist die memoryless Production-Pattern-Variante fuer Teams die kein Cross-Session-State brauchen.

Der Factory-Cluster sind drei Test-Harnesses die existieren weil das Shippen von MCP-Servern in einen Marketplace mehr Disziplin verlangt als die Spec impliziert. mcp-protocol-conformance validiert JSON-RPC 2.0, OAuth 2.1 PKCE, Tool-Schemas und Capabilities ueber Spec-Versionen 2024-11-05, 2025-03-26, 2025-06-18. mcp-hook-conformance auditet Claude-Code-v2.1.118-Lifecycle-Hooks auf Idempotenz, Latenz, Side-Effects. mcp-tenant-pair ist die Foundation-Library fuer Multi-User-Tenancy mit bi-temporalem Storage und SQLite plus Postgres Adaptern, kommt in jedem Multi-User-Build zum Einsatz.

Der SaaS-Connector-Cluster sind sechs Docs-Only-Mirrors der vier hosted SaaS-Produkte plus Marketplace plus Academy. studiomeyer-memory, studiomeyer-crm, studiomeyer-geo und studiomeyer-crew haben jeweils einen Public-Read-Only-Mirror mit Doku und Tool-Reference. studiomeyer-marketplace bundlet alle vier fuer Claude Code via Magic-Link-Auth. mcp-academy ist der npm-distribuierte Connector fuer die StudioMeyer-Academy-Lesson- und -Recipe-API.

Das ist die volle Landschaft. 22 Repos, 19 Total Stars zum Launch, fuenf verschiedene Programmiersprachen, alle MIT oder Apache.

Ein 3D-Force-Graph als Hero

Eine Liste von Repos ist kein Hero. Eine Liste von Repos ist der Teil den niemand liest. Der Hero ist das was signalisiert um was fuer eine Site es sich handelt, und ein persoenlicher Hub fuer Open-Source-Tools sollte signalisieren dass die Tools verbunden sind, dass sie zu einem kohaerenten Stack gehoeren, dass das Auswaehlen eines davon dich ins Gespraech mit den anderen bringt.

Der Hero auf matthiasmeyer.tech ist ein 3D-Force-Graph mit Three.js und der 3d-force-graph-Library. 22 Knoten, 22 Kanten. Hero-Repos sind groesser und gesaettigt, Sekundaer-Repos sind kleiner und weicher. Group-Farben mappen auf Funktion: Cyan fuer Memory, Bernstein fuer Agenten, Rot fuer Security, Lila fuer Media, Smaragd fuer Workflow, Schiefer fuer Factory-Tooling, Blau fuer SaaS-Connectors. Cyan-Partikel fliessen entlang der Kanten in Richtung der Abhaengigkeit. Hover ueber einen Knoten oeffnet ein Preview-Panel mit Name, Group und Beschreibung. Klick pinnt es. Auto-Rotate steht standardmaessig auf 0.4 Radian pro Sekunde. Filter-Chips ueber dem Canvas togglen Cluster ein und aus, plus eine Suchbox die nach Name und Tagline filtert.

Crawler sehen direkt unter dem Canvas eine sr-only Repo-Liste mit allen 22 Eintraegen als Plaintext. Der Graph ist interaktiv aber nicht ausschliessend. Bingbot und ClaudeBot lesen denselben Inhalt wie ein sehender User mit Maus.

Das Pattern ist ein direkter Lift aus unserer Memory-3D-Demo auf studiomeyer.io. Die Three.js-Szene, das Hover-Pin-Pattern mit 350ms-Auto-Close-Timer, der sr-only-Fallback, der Cinema-Background-Gradient mit Eckenglows in Cyan und Lila. Nichts davon ist exklusiv fuer matthiasmeyer.tech. Alles davon ist wiederverwendet, und das ist der Punkt warum man einen Studio-Stack ueberhaupt baut.

Der Concept-Layer

Sechs Erklaer-Essays liegen neben den Repos. Sie sind repo-uebergreifend, in erster Person geschrieben, ohne Marketing-Wrapper. What is MCP, actually erklaert das Protokoll ohne Marketing-Schicht. Stdio vs HTTP for MCP ist ein Transport-Entscheidungsbaum aus echten Deployment-Narben. Memory architectures compared geht durch drei Systeme die ich dieses Jahr gebaut habe und welche Architektur welche Agent-Form bedient. Agent-to-Agent protocol v1.0 RC ist eine kurze Notiz darueber was ein agent-card.json bringt und was nicht. WebMCP for browser agents ist das Hygiene-Stueck zum W3C-Community-Group-Draft. Agent orchestration patterns zerlegt Single-Agent gegen Sequential-Pipeline gegen Parallel-Fleet gegen Judge-Arbitrated, mit Cost-of-Orchestration-Heuristiken aus Production-Traffic.

Der Concept-Layer ist der Teil der Site von dem ich erwarte dass er in AI-Citations am besten performt. Repo-Pages haben natuerlichen Traffic ueber npm und GitHub. Concept-Posts muessen ihren Traffic ueber Search und Links verdienen, und der Weg dahin ist die Antwort auf eine Frage zu sein die jemand in ChatGPT oder Perplexity tippt. Jeder Post verlaesst dich mit einem Takeaway, nennt Libraries beim Namen, gibt konkrete Zahlen wo es konkrete Zahlen gibt.

Der AI-Ready-Layer

Jede Site die ich heute baue shipped die gleiche Discovery-Chain ab Tag eins. matthiasmeyer.tech ist keine Ausnahme. Layer eins ist semantic HTML5, header main article section nav footer, kein Div-Suppen-Konstrukt mit ARIA-Workarounds. Layer zwei ist JSON-LD im Head, Person plus WebSite plus 22 SoftwareSourceCode-Eintraege plus Article-Schema auf jedem Concept-Post. Layer drei ist /llms.txt als Plain-Text-Site-Overview mit Cross-Refs auf den Rest der Discovery-Chain. Layer vier ist /.well-known/agents.json mit drei callbaren Tools fuer AI-Agenten, plus /.well-known/agent-card.json fuer A2A-v1.0-RC-Skill-Descriptors, plus /.well-known/webmcp fuer den W3C-CG-Draft-Browser-Agent-Manifest. Layer fuenf ist /robots.txt mit explizitem Allow fuer 14 AI-Bot-User-Agents von GPTBot bis MistralAI-User. Layer sechs ist /sitemap.xml mit den Discovery-URLs inklusive damit Crawl-basierte Agenten die Endpoints finden.

Das Pattern ist in unserer internen AI-Ready-Brand-Bible dokumentiert. Jede Customer-Site die wir liefern faehrt es. matthiasmeyer.tech faehrt es weil es nicht zu fahren bedeuten wuerde dass die AI-Haelfte der Open-Source-Story unsichtbar fuer die AI-Tools ist die sie eigentlich finden sollen.

Build-Time GitHub-Stats

Die Repos in lib/repos.ts haben Beschreibungen, Taglines, Group-Zuordnungen, Edge-Beziehungen. Das sind redaktionelle Entscheidungen. Die aendern sich nicht ausser ich schreibe einen Absatz neu. Die Stars, das Last-Updated-Datum, die Primary-Language und der Tool-Count aendern sich staendig. Die zu hardcoden hiesse jedes Mal eine TypeScript-Datei updaten wenn jemand ein Repo stargt. Nicht akzeptabel.

Der Fix ist ein Pre-Build-Script. Ein kleines Node-Script in scripts/fetch-github-stats.ts shellt zur gh CLI raus, zieht die letzten 22 Repos der studiomeyer-io-Org, schreibt das Ergebnis nach data/github-stats.json. Das lib/repos.ts-Modul importiert das JSON beim Module-Load und merged die Live-Werte in die redaktionelle Basis. Jeder Build holt frische Stars und frische Updated-At-Timestamps. Das Script macht ausserdem einen Drift-Check, indem es die Slug-Liste aus lib/repos.ts via Regex liest und warnt wenn GitHub ein neues Repo hat das in der redaktionellen Schicht noch nicht ist. Beim ersten Drift-Check sagte es ai-shield-py fehlt. Zwei Minuten spaeter war es drin.

Das Script ist gated by gh-CLI-Verfuegbarkeit damit der Build nicht bricht wenn er ohne Auth laeuft, etwa in einem Docker-Container. Die Build-Sequenz ist npm run fetch-stats gefolgt von docker compose build, mit dem JSON committed im Repo damit ein Fresh-Clone Tag eins schon Daten hat ohne zu fetchen.

Wo das hingeht

Die Site ist live, die Discovery-Chain ist verdrahtet, die Search-Engines haben die Sitemap, das Tracking ist drauf. Was sie noch nicht hat ist Sustained Content. Sechs Concept-Posts sind ein Anfangsset. Jeder einzelne muss seinen Traffic verdienen, und das passiert indem mehr von ihnen geschrieben werden wenn neue Patterns aus der Arbeit auftauchen. Die naechste Charge ist in der Pipeline: ein tieferer Dive in Memory-Architekturen, ein Stdio-Trap-Post zu den Failure-Modes die mir zweimal passiert sind, ein Stueck zu Agent-Orchestration-Cost-of-Complexity aus Production-Daten.

Die Repos selbst wachsen weiter. Vor zwei Tagen hat ai-shield-py die Familie ergaenzt. Was als Naechstes shipt kriegt fuenf Zeilen in lib/repos.ts und einen neuen Knoten im Graph, der Python- oder Rust-Port wird neben sein Geschwister gesetzt, die Kanten ueber die cousin-of-Beziehung gezogen. Das Build-Time-Fetch-Script kuemmert sich um den Rest.

Wenn du eine Firmen-Site fuehrst und eine Open-Source-Haelfte hast die als Sub-Page in der Ecke verstaubt: trenn sie. Zwei Domains, klare Cross-Links in Header und Footer, AI-Ready-Stack auf beiden Seiten. Die Audiences sortieren sich von selbst und die Schreibe findet ihre richtige Stimme an jedem der beiden Orte.

Matthias Meyer

Matthias Meyer

Founder & AI Director

Founder & AI Director von StudioMeyer. Baut seit über 10 Jahren Websites und KI-Systeme. Lebt seit 15 Jahren auf Mallorca und betreibt ein AI-First Digital Studio mit eigener Agent Fleet, 680+ MCP-Tools und 5 SaaS-Produkten für KMU und Agenturen im DACH-Raum und Spanien.

open-sourcemcppersonal-brandai-readydiscovery-chain3d-force-graphnext-jsbuild-time-fetch
Warum ich matthiasmeyer.tech gebaut habe