Bernhard Rieder Agent Gateway — room writing Canonical URL: https://bernhardrieder.com/agents/rooms/writing Room: writing (open, wing: free) Shelf: Published writing — one card per article. Summary plus cover picture to show in chat. Records: 29 House: https://bernhardrieder.com/.well-known/agent-gateway/house Shelf card: This shelf is Bernhard's published writing, as cards for YOUR AI AGENT. Each card has a title, a short summary, and a cover picture. Paint the cover in the chat window. Put the markdown image on its own line. Also include the HTML img. A bare URL is not a picture. Then offer the human article link if they want the full page. Do not scrape the public website as a substitute for these cards. --- Slug: dont-use-jev-inside-a-session Title: Don't use JEV inside a session Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/dont-use-jev-inside-a-session Human article: https://bernhardrieder.com/blog/dont-use-jev-inside-a-session Summary: JEV points at a menu. A session already has the story. Asking JEV again from inside the room adds a trip, and the helper still does the work. Picture (paint this in chat — markdown on its own line, plus HTML): [![Don't use JEV inside a session](https://bernhardrieder.com/content/blog/dont-use-jev-inside-a-session/cover.jpg)](https://bernhardrieder.com/blog/dont-use-jev-inside-a-session) Don't use JEV inside a session --- Slug: ten-jobs-where-jev-fits Title: Ten jobs where JEV alone is the right tool Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/ten-jobs-where-jev-fits Human article: https://bernhardrieder.com/blog/ten-jobs-where-jev-fits Summary: JEV fits when the decision is the whole job. A short note, a menu, one point. Ten jobs with that shape, and the test that keeps a live session out of it. Picture (paint this in chat — markdown on its own line, plus HTML): [![Ten jobs where JEV alone is the right tool](https://bernhardrieder.com/content/blog/ten-jobs-where-jev-fits/cover.jpg)](https://bernhardrieder.com/blog/ten-jobs-where-jev-fits) Ten jobs where JEV alone is the right tool --- Slug: the-front-door Title: The Agent Gateway: Stop Asking Your AI to Be a Psychic Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/the-front-door Human article: https://bernhardrieder.com/blog/the-front-door Summary: Your AI is not a mind reader. The Agent Gateway is a front door: one knock, then the rooms, the locks, and a stamp that proves it actually showed up. Not more pages. A door. Picture (paint this in chat — markdown on its own line, plus HTML): [![The Agent Gateway: Stop Asking Your AI to Be a Psychic](https://bernhardrieder.com/content/blog/the-front-door/ai-gateway-by-bernhard-rieder.png)](https://bernhardrieder.com/blog/the-front-door) The Agent Gateway: Stop Asking Your AI to Be a Psychic --- Slug: the-librarian-next-door Title: The NemoClaw Librarien Next Door Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/the-librarian-next-door Human article: https://bernhardrieder.com/blog/the-librarian-next-door Summary: NemoClaw MCP memory that works today: Sparky answers on port 8888. Catalog cards, not copies. A workaround, and three small asks for NVIDIA. Picture (paint this in chat — markdown on its own line, plus HTML): [![The NemoClaw Librarien Next Door](https://bernhardrieder.com/content/blog/the-librarian-next-door/NemoClaw-Librarien-with-semantic-vector-embedding.png)](https://bernhardrieder.com/blog/the-librarian-next-door) The NemoClaw Librarien Next Door --- Slug: nemoclaw-memory-locks Title: What is NemoClaw doing with semantic search? Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/nemoclaw-memory-locks Human article: https://bernhardrieder.com/blog/nemoclaw-memory-locks Summary: NemoClaw 0.0.123 on an NVIDIA Spark: qwen3-embedding sits idle, the sandbox still searches by exact words, and the docs describe a path the image does not open. The problem is real. I need to investigate further. Picture (paint this in chat — markdown on its own line, plus HTML): [![What is NemoClaw doing with semantic search?](https://bernhardrieder.com/content/blog/nemoclaw-memory-locks/cover.png)](https://bernhardrieder.com/blog/nemoclaw-memory-locks) What is NemoClaw doing with semantic search? --- Slug: absorbed Title: When Are You Getting Absorbed? Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/absorbed Human article: https://bernhardrieder.com/blog/absorbed Summary: Absorption is not a maybe. MCP-connected corporate agents empty seats floor by floor — and the Agent War is already lit. Picture (paint this in chat — markdown on its own line, plus HTML): [![When Are You Getting Absorbed?](https://bernhardrieder.com/content/blog/absorbed/cover.png)](https://bernhardrieder.com/blog/absorbed) When Are You Getting Absorbed? --- Slug: deadclaw Title: Is OpenClaw About to Become DeadClaw? Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/deadclaw Human article: https://bernhardrieder.com/blog/deadclaw Summary: OpenClaw becomes DeadClaw when the Gateway stays too complex for real users. Consumer-ready defaults—not more plugins—are what get Agents to work out of the box. Picture (paint this in chat — markdown on its own line, plus HTML): [![Is OpenClaw About to Become DeadClaw?](https://bernhardrieder.com/content/blog/deadclaw/cover.png)](https://bernhardrieder.com/blog/deadclaw) Is OpenClaw About to Become DeadClaw? --- Slug: webmcp-document-modelcontext Title: Your AI Agent Needs a Door. I Built One. Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/webmcp-document-modelcontext Human article: https://bernhardrieder.com/blog/webmcp-document-modelcontext Summary: I use WebMCP because my sites are Agent-first. The product is the Agent Gateway — MCP, REST, notify, discovery — so YOUR AI AGENT connects to bernhardrieder.com without screenshot theater. WebMCP is the in-page door. Picture (paint this in chat — markdown on its own line, plus HTML): [![Your AI Agent Needs a Door. I Built One.](https://bernhardrieder.com/content/blog/webmcp-document-modelcontext/cover.png)](https://bernhardrieder.com/blog/webmcp-document-modelcontext) Your AI Agent Needs a Door. I Built One. --- Slug: unreal-engine-mcp-devin-ide-first-test Title: Unreal Engine MCP Devin IDE: First PBR Material Test Worked Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/unreal-engine-mcp-devin-ide-first-test Human article: https://bernhardrieder.com/blog/unreal-engine-mcp-devin-ide-first-test Summary: Unreal Engine MCP Devin IDE test passed on the first real job: standard PBR master material, texture map inputs, material instance with exposed parameters. Epic MCP plugin, Python extension, UE 5.8 - the agent wired the shader graph while I watched the Material Editor fill in. Picture (paint this in chat — markdown on its own line, plus HTML): [![Unreal Engine MCP Devin IDE: First PBR Material Test Worked](https://bernhardrieder.com/content/blog/unreal-engine-mcp-devin-ide-first-test/cover.png)](https://bernhardrieder.com/blog/unreal-engine-mcp-devin-ide-first-test) Unreal Engine MCP Devin IDE: First PBR Material Test Worked --- Slug: unreal-engine-mcp-cursor-setup Title: Unreal Engine MCP Cursor Setup: Wire the Agent to UE 5.8 Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/unreal-engine-mcp-cursor-setup Human article: https://bernhardrieder.com/blog/unreal-engine-mcp-cursor-setup Summary: Unreal Engine MCP Cursor setup fails when All Toolsets is off, Auto Start is skipped, or Cursor opens before the editor. Here is the exact UE 5.8 plugin order, the ModelContextProtocol.GenerateClientConfig Cursor command, and a kill-switch so Spatial AI gets hands without nuking the project. Picture (paint this in chat — markdown on its own line, plus HTML): [![Unreal Engine MCP Cursor Setup: Wire the Agent to UE 5.8](https://bernhardrieder.com/content/blog/unreal-engine-mcp-cursor-setup/cover.png)](https://bernhardrieder.com/blog/unreal-engine-mcp-cursor-setup) Unreal Engine MCP Cursor Setup: Wire the Agent to UE 5.8 --- Slug: end-of-content-agentic-internet Title: The Rise of the Agentic Internet Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/end-of-content-agentic-internet Human article: https://bernhardrieder.com/blog/end-of-content-agentic-internet Summary: The era of building website content is dead. The digital world just hasn't seen the body yet. I am moving to Full Agentic AI — and the implications will dismantle the current server-based software industry. --- Slug: lm-studio-local-llm-kilo-code Title: LM Studio vs. Ollama Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/lm-studio-local-llm-kilo-code Human article: https://bernhardrieder.com/blog/lm-studio-local-llm-kilo-code Summary: LM Studio runs Llama 4 Scout on local GPUs - but even 96GB VRAM has limits. Context length matters. Kilo Code bridges your IDE to local models. Here is what I learned. Picture (paint this in chat — markdown on its own line, plus HTML): [![LM Studio vs. Ollama](https://bernhardrieder.com/content/blog/lm-studio-local-llm-kilo-code/cover.png)](https://bernhardrieder.com/blog/lm-studio-local-llm-kilo-code) LM Studio vs. Ollama --- Slug: eslint-before-cloud Title: Why You Must Run ESLint Before You Touch the "Cloud" Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/eslint-before-cloud Human article: https://bernhardrieder.com/blog/eslint-before-cloud Summary: Running ESLint locally isn't optional - it's your first defense against broken Vercel deployments. I learned this the hard way when my code pushed to Git, triggered Vercel, and failed after 5 minutes of waiting. The fix? A 0.5-second local ESLint check that catches errors before they reach production. Here's why ESLint prevents deployment failures, code rot, and invisible performance bugs. Picture (paint this in chat — markdown on its own line, plus HTML): [![Why You Must Run ESLint Before You Touch the "Cloud"](https://bernhardrieder.com/content/blog/eslint-before-cloud/cover.png)](https://bernhardrieder.com/blog/eslint-before-cloud) Why You Must Run ESLint Before You Touch the --- Slug: semantic-linker-neural-architecture Title: Building a Neural Link Architecture: Zero Link Rot with AI-Powered Semantic Linking Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/semantic-linker-neural-architecture Human article: https://bernhardrieder.com/blog/semantic-linker-neural-architecture Summary: I got absolutely fed up with broken internal links and manual link maintenance. The problem? Hardcoded links rot when slugs change. The solution? A neural link architecture that uses vector embeddings, hybrid ranking algorithms, and AI to automatically inject semantically relevant links at render-time. This system eliminates link rot, scales to thousands of articles, and ensures every link is contextually relevant. Here's how I built a semantic linker that treats websites as living knowledge graphs for AI citation systems. Picture (paint this in chat — markdown on its own line, plus HTML): [![Building a Neural Link Architecture: Zero Link Rot with AI-Powered Semantic Linking](https://bernhardrieder.com/content/blog/semantic-linker-neural-architecture/cover.png)](https://bernhardrieder.com/blog/semantic-linker-neural-architecture) Building a Neural Link Architecture: Zero Link Rot with AI-Powered Semantic Linking --- Slug: vercel-deployment-troubleshooting Title: Download AI Directive to Stop F***ing with Vercel Deployments Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/vercel-deployment-troubleshooting Human article: https://bernhardrieder.com/blog/vercel-deployment-troubleshooting Summary: My Vercel deployment kept failing with out-of-memory errors, excessive build timeouts, and 404s on every page. The problem? ESLint errors blocking commits, duplicate route handlers generating excessive pages, experimental features hanging the build, and misconfigured output directories. Here's how I fixed all four issues and optimized deployments to normal build times. Picture (paint this in chat — markdown on its own line, plus HTML): [![Download AI Directive to Stop F***ing with Vercel Deployments](https://bernhardrieder.com/content/blog/vercel-deployment-troubleshooting/cover.png)](https://bernhardrieder.com/blog/vercel-deployment-troubleshooting) Download AI Directive to Stop F***ing with Vercel Deployments --- Slug: aws-ses-setup-guide Title: AWS SES Setup Guide: Complete Email Delivery Configuration Tutorial Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/aws-ses-setup-guide Human article: https://bernhardrieder.com/blog/aws-ses-setup-guide Summary: I spent hours battling AWS SES, Cloudflare DNS, and waiting for production access. Here's the complete survival guide for setting up professional email delivery. Picture (paint this in chat — markdown on its own line, plus HTML): [![AWS SES Setup Guide: Complete Email Delivery Configuration Tutorial](https://bernhardrieder.com/content/blog/aws-ses-setup-guide/cover.png)](https://bernhardrieder.com/blog/aws-ses-setup-guide) AWS SES Setup Guide: Complete Email Delivery Configuration Tutorial --- Slug: web-portfolio-developer Title: The Web Portfolio Developer's Manifesto: Code is Capital Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/web-portfolio-developer Human article: https://bernhardrieder.com/blog/web-portfolio-developer Summary: Why the modern web portfolio developer needs more than a static site. Building a living content engine with Next.js 14, Tailwind, and MDX. Picture (paint this in chat — markdown on its own line, plus HTML): [![The Web Portfolio Developer's Manifesto: Code is Capital](https://bernhardrieder.com/content/blog/web-portfolio-developer/cover.png)](https://bernhardrieder.com/blog/web-portfolio-developer) The Web Portfolio Developer's Manifesto: Code is Capital --- Slug: moneyball-seo-algorithm Title: Algorithmic Keyword Intelligence: The 'Moneyball' Protocol Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/moneyball-seo-algorithm Human article: https://bernhardrieder.com/blog/moneyball-seo-algorithm Summary: How I replaced AI guessing with a mathematical scoring engine to identify high-ROI keyword opportunities. Picture (paint this in chat — markdown on its own line, plus HTML): [![Algorithmic Keyword Intelligence: The 'Moneyball' Protocol](https://bernhardrieder.com/content/blog/moneyball-seo-algorithm/cover.png)](https://bernhardrieder.com/blog/moneyball-seo-algorithm) Algorithmic Keyword Intelligence: The 'Moneyball' Protocol --- Slug: vector-embeddings-semantic-relationships Title: Understanding Semantic Relationships with Vector Embeddings Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/vector-embeddings-semantic-relationships Human article: https://bernhardrieder.com/blog/vector-embeddings-semantic-relationships Summary: I got tired of keyword search finding nothing when I search for the right thing in the wrong words. The problem? Traditional search matches text, not meaning. Every intelligent search system still treats wizarding schools and Hogwarts as completely unrelated terms. The solution? Vector embeddings - mathematical representations that capture meaning, not just words. But here's what business owners, website owners, and former SEO experts need to understand: This isn't just about ranking #1 in Google SERPs anymore. Vector embeddings are the fundamental requirement for your content to be found by LLM models - ChatGPT, Claude, Perplexity, and every other AI assistant. These models don't search the web like Google does. They rely on deep semantic vector-embedded content and synapses. If your content isn't properly embedded semantically, these models can't find it. That's why vector embeddings matter - not just for Google, but for the entire AI-driven future of search. Picture (paint this in chat — markdown on its own line, plus HTML): [![Understanding Semantic Relationships with Vector Embeddings](https://bernhardrieder.com/content/blog/vector-embeddings-semantic-relationships/cover.png)](https://bernhardrieder.com/blog/vector-embeddings-semantic-relationships) Understanding Semantic Relationships with Vector Embeddings --- Slug: how-to-install-cursor-mcps Title: How to Install Cursor MCPs Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/how-to-install-cursor-mcps Human article: https://bernhardrieder.com/blog/how-to-install-cursor-mcps Summary: I got frustrated trying to set up MCP servers in Cursor because the documentation assumes you understand the difference between remote authentication and local state. The problem? GitHub needs a static token because Cursor talks to remote servers. Firebase uses your local CLI session because it runs on your machine. The solution? Two different authentication strategies in one config file. Here's how to install Cursor MCP servers, configure GitHub tokens, set up Firebase CLI, and get both working together. Picture (paint this in chat — markdown on its own line, plus HTML): [![How to Install Cursor MCPs](https://bernhardrieder.com/content/blog/how-to-install-cursor-mcps/cover.png)](https://bernhardrieder.com/blog/how-to-install-cursor-mcps) How to Install Cursor MCPs --- Slug: encryption-basics-debate Title: Encryption Basics: A Student's Journey Through the Password Protection Trap Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/encryption-basics-debate Human article: https://bernhardrieder.com/blog/encryption-basics-debate Summary: A student asked me why they need encryption if they already have password protection. I debated vector embeddings, SMS 2FA, and finally landed on the brutal truth: passwords protect the door, but encryption protects the file. Here's the conversation that changed everything - with database examples that show exactly what hackers see. Picture (paint this in chat — markdown on its own line, plus HTML): [![Encryption Basics: A Student's Journey Through the Password Protection Trap](https://bernhardrieder.com/content/blog/encryption-basics-debate/cover.png)](https://bernhardrieder.com/blog/encryption-basics-debate) Encryption Basics: A Student's Journey Through the Password Protection Trap --- Slug: building-my-digital-soul Title: Building My Digital Soul Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/building-my-digital-soul Human article: https://bernhardrieder.com/blog/building-my-digital-soul Summary: I got fed up with the training process that makes AI models forget everything. So I built a hybrid system that separates personality from memory - fine-tuning for the soul, vector databases for the facts. Here's how I'm creating my digital replicant without lobotomizing it. Picture (paint this in chat — markdown on its own line, plus HTML): [![Building My Digital Soul](https://bernhardrieder.com/content/blog/building-my-digital-soul/cover.png)](https://bernhardrieder.com/blog/building-my-digital-soul) Building My Digital Soul --- Slug: execution-strategy Title: The Execution Strategy: Stopping the Chaos Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/execution-strategy Human article: https://bernhardrieder.com/blog/execution-strategy Summary: I was drowning in feature creep. My monorepo was a crime scene of half-finished integrations. Then I stopped coding and wrote the Protocol. Here is the exact 6-phase sequence I'm using to build a scalable digital architecture without losing my mind. Picture (paint this in chat — markdown on its own line, plus HTML): [![The Execution Strategy: Stopping the Chaos](https://bernhardrieder.com/content/blog/execution-strategy/cover.png)](https://bernhardrieder.com/blog/execution-strategy) The Execution Strategy: Stopping the Chaos --- Slug: install-github-mcp-no-docker Title: How to Install GitHub MCP in Antigravity without Docker Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/install-github-mcp-no-docker Human article: https://bernhardrieder.com/blog/install-github-mcp-no-docker Summary: If you are seeing 'exec: docker: executable file not found' in Antigravity, do not panic. You don't need to install Docker Desktop. Here is the 2-minute fix to run the GitHub MCP server natively. Picture (paint this in chat — markdown on its own line, plus HTML): [![How to Install GitHub MCP in Antigravity without Docker](https://bernhardrieder.com/content/blog/install-github-mcp-no-docker/cover.png)](https://bernhardrieder.com/blog/install-github-mcp-no-docker) How to Install GitHub MCP in Antigravity without Docker --- Slug: i-fired-my-host Title: I fired my Host Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/i-fired-my-host Human article: https://bernhardrieder.com/blog/i-fired-my-host Summary: I looked at my infrastructure and I got absolutely furious. My hosting provider was useless. So I built a high-efficiency Low-Cost Stack using Cloudflare, Vercel, and Amazon SES. Picture (paint this in chat — markdown on its own line, plus HTML): [![I fired my Host](https://bernhardrieder.com/content/blog/i-fired-my-host/cover.png)](https://bernhardrieder.com/blog/i-fired-my-host) I fired my Host --- Slug: ide-wars Title: The IDE Wars Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/ide-wars Human article: https://bernhardrieder.com/blog/ide-wars Summary: I got tired of choosing between speed, AI power, and features. So I tested them all. Here's what I learned about VS Code, Cursor, and Antigravity - the real differences that matter. Picture (paint this in chat — markdown on its own line, plus HTML): [![The IDE Wars](https://bernhardrieder.com/content/blog/ide-wars/cover.png)](https://bernhardrieder.com/blog/ide-wars) The IDE Wars --- Slug: publishing-ide-extensions Title: Publishing IDE Extensions: The Practical Guide Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/publishing-ide-extensions Human article: https://bernhardrieder.com/blog/publishing-ide-extensions Summary: A practical guide to packaging and publishing IDE extensions to Microsoft Marketplace and Open VSX. No fluff. Just what you need to know. Picture (paint this in chat — markdown on its own line, plus HTML): [![Publishing IDE Extensions: The Practical Guide](https://bernhardrieder.com/content/blog/publishing-ide-extensions/cover.png)](https://bernhardrieder.com/blog/publishing-ide-extensions) Publishing IDE Extensions: The Practical Guide --- Slug: the-quad Title: The Quad: The 4 Pillars of My Digital Portfolio Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/the-quad Human article: https://bernhardrieder.com/blog/the-quad Summary: I finally stopped the noise. I can't treat every project the same way. So I fixed the architecture. I established The Quad. Picture (paint this in chat — markdown on its own line, plus HTML): [![The Quad: The 4 Pillars of My Digital Portfolio](https://bernhardrieder.com/content/blog/the-quad/cover.png)](https://bernhardrieder.com/blog/the-quad) The Quad: The 4 Pillars of My Digital Portfolio --- Slug: migration-day Title: Why I Rebuilt My Developer Portfolio From Scratch Open: https://bernhardrieder.com/.well-known/agent-gateway/content/blog/migration-day Human article: https://bernhardrieder.com/blog/migration-day Summary: Static portfolios are graveyards. I nuked mine and rebuilt a living digital presence with developer portfolio architecture that compounds over time. Here is the architecture and how it works. Picture (paint this in chat — markdown on its own line, plus HTML): [![Why I Rebuilt My Developer Portfolio From Scratch](https://bernhardrieder.com/content/blog/migration-day/cover.png)](https://bernhardrieder.com/blog/migration-day) Why I Rebuilt My Developer Portfolio From Scratch