<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>BlueRobin — Blog</title><description>BlueRobin Technical Blog - A homelab journey from medical document search to production AI. Deep dives into .NET, Kubernetes, LLM integration, and Domain-Driven Design.</description><link>https://blog.bluerobin.io/</link><language>en</language><item><title>Organising Teams Around Backlogs, Not Projects</title><link>https://blog.bluerobin.io/leadership/organising-teams-around-backlogs-priorities/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/organising-teams-around-backlogs-priorities/</guid><description>A team fed by several competing backlogs doesn&apos;t have several priorities — it has none. Give every team exactly one queue, and make priorities fight in the queue instead of fighting for the people.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>org-design</category><category>prioritization</category><category>backlogs</category><category>an-elegant-puzzle</category></item><item><title>Learning to Surface Issues Early</title><link>https://blog.bluerobin.io/leadership/surfacing-issues-early/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/surfacing-issues-early/</guid><description>Bad news depreciates: an issue costs a conversation the day it&apos;s found and a launch three months later. Your reaction to the last flag sets the price of the next one.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>escalation</category><category>candor</category><category>risk</category><category>an-elegant-puzzle</category></item><item><title>Using System Design to See the Big Picture</title><link>https://blog.bluerobin.io/leadership/system-design-big-picture/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/system-design-big-picture/</guid><description>I fixed the team everyone blamed and nothing improved. Organisations are systems of queues and feedback loops — draw the system before you intervene, or you&apos;ll optimise a component while the constraint sits elsewhere.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>systems-thinking</category><category>constraints</category><category>flow</category><category>an-elegant-puzzle</category></item><item><title>Aligning Cross-Team Features With Incremental Milestones</title><link>https://blog.bluerobin.io/leadership/cross-team-features-incremental-milestones/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/cross-team-features-incremental-milestones/</guid><description>Cross-team features fail at the seams between teams, not inside them. Map the dependencies and sequence integrated milestones instead of aligning on one finish date.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>program-management</category><category>dependencies</category><category>milestones</category><category>an-elegant-puzzle</category></item><item><title>Fitting Engineering Investment Into a Product Roadmap</title><link>https://blog.bluerobin.io/leadership/engineering-investment-product-roadmap/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/engineering-investment-product-roadmap/</guid><description>Treating engineering health as leftover capacity defers it forever, until the deferral compounds into a cleanup you can&apos;t schedule. Make it a planned, argued line item.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>technical-quality</category><category>roadmap</category><category>prioritization</category><category>an-elegant-puzzle</category></item><item><title>Building a Real Engineering–Product Partnership</title><link>https://blog.bluerobin.io/leadership/engineering-product-partnership/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/engineering-product-partnership/</guid><description>Shipping a feature exactly to spec, on time, that nobody uses is a partnership failure, not an execution one. Engineering has to own the outcome, not just the how.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>product</category><category>collaboration</category><category>an-elegant-puzzle</category></item><item><title>Building a Low-Drama Engineering Team</title><link>https://blog.bluerobin.io/leadership/low-drama-engineering-culture/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/low-drama-engineering-culture/</guid><description>Culture is the worst behaviour you tolerate from your best people. A high performer who poisons the room costs a slice of everyone else&apos;s output, compounding quietly.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>culture</category><category>psychological-safety</category><category>an-elegant-puzzle</category></item><item><title>No News Is Good News: Leading With Trust, Not Status</title><link>https://blog.bluerobin.io/leadership/no-news-good-news-trust/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/no-news-good-news-trust/</guid><description>Daily status updates feel like control but teach a good team to perform progress instead of raising problems. Default to trust; invest in signals that surface the exceptions.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>autonomy</category><category>trust</category><category>an-elegant-puzzle</category></item><item><title>Protecting Your Team by Learning to Say No</title><link>https://blog.bluerobin.io/leadership/protecting-teams-saying-no/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/protecting-teams-saying-no/</guid><description>A team has one capacity, not one per stakeholder. Treating intake as the manager&apos;s job — not output — is what makes focus possible.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>focus</category><category>managing-up</category><category>an-elegant-puzzle</category></item><item><title>Reducing WIP: Why Finishing Beats Starting</title><link>https://blog.bluerobin.io/leadership/reducing-wip-finishing-beats-starting/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/reducing-wip-finishing-beats-starting/</guid><description>Throughput is governed by how much work is in progress, not how much you start. A busy team that finishes nothing has a WIP problem, not a staffing one.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>flow</category><category>wip</category><category>delivery</category><category>an-elegant-puzzle</category></item><item><title>Sizing Teams in the Copilot Era</title><link>https://blog.bluerobin.io/leadership/sizing-teams-copilot-era/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/sizing-teams-copilot-era/</guid><description>AI coding assistants don&apos;t shrink a team&apos;s work; they relocate it from drafting to review and verification. Size the team for the new bottleneck, not raw output.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>team-topology</category><category>ai</category><category>copilot</category><category>an-elegant-puzzle</category></item><item><title>Replacing Status Meetings with Observability</title><link>https://blog.bluerobin.io/leadership/distributed-observability-substitute-for-synchrony/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/distributed-observability-substitute-for-synchrony/</guid><description>A weekly status meeting reassures the manager and decides nothing. Observable system state beats reported status on accuracy, freshness, and reach.</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>observability</category><category>async</category><category>an-elegant-puzzle</category></item><item><title>Diagnosing a Stuck Team with the Four States</title><link>https://blog.bluerobin.io/leadership/four-states-explicit-contracts-org-turnaround/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/four-states-explicit-contracts-org-turnaround/</guid><description>Flat throughput on a busy, capable team usually signals missing clarity about ownership and meaning — not missing headcount. Name the boundaries before you count people.</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>ddd</category><category>team-turnaround</category><category>an-elegant-puzzle</category></item><item><title>Migrations, Not Rewrites: The Only Change That Scales</title><link>https://blog.bluerobin.io/leadership/migrations-only-scalable-change-strangler-fig-org/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/migrations-only-scalable-change-strangler-fig-org/</guid><description>A big-bang rewrite concentrates all risk into one cutover and freezes the business while you guess. Incremental migration spreads the risk and keeps shipping.</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>migrations</category><category>strangler-fig</category><category>an-elegant-puzzle</category></item><item><title>Building a Blameless On-Call</title><link>https://blog.bluerobin.io/leadership/on-call-blamelessness-incident-culture-hiring/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/on-call-blamelessness-incident-culture-hiring/</guid><description>The first question after an incident — &apos;who broke it?&apos; or &apos;what broke?&apos; — sets how candid the team will be from then on. Blamelessness is a precondition, not a reward.</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>on-call</category><category>incident-response</category><category>blameless</category><category>an-elegant-puzzle</category></item><item><title>Running a Reorg Around Domain Boundaries</title><link>https://blog.bluerobin.io/leadership/org-design-across-continents-distributed-teams/</link><guid isPermaLink="true">https://blog.bluerobin.io/leadership/org-design-across-continents-distributed-teams/</guid><description>When the org chart and the architecture disagree, the architecture wins and you pay in coordination. Draw teams around domain boundaries, not reporting lines.</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><category>leadership</category><category>engineering-management</category><category>org-design</category><category>conways-law</category><category>domain-driven-design</category><category>an-elegant-puzzle</category></item><item><title>The Archives Is a Team of Agents, Not a RAG App</title><link>https://blog.bluerobin.io/articles/bluerobin-features-document-agents/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/bluerobin-features-document-agents/</guid><description>BlueRobin&apos;s Archives looks like a RAG app from the outside. Inside, it&apos;s a collection of specialist agents — triage, finance, health, tax, entity resolution, insight, and retrieval — each with its own job, coordinating over an event bus.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate><category>agents</category><category>multi-agent</category><category>ai</category><category>rag</category><category>knowledge-graph</category><category>ner</category><category>nats</category><category>dotnet</category></item><item><title>Bi-Temporal Incident Memory on a Property Graph: Hand-Rolled Graphiti-on-FalkorDB with No-LLM-at-Retrieval Hybrid Recall and Reflexion Lessons</title><link>https://blog.bluerobin.io/debug-agent/bitemporal-incident-memory-graphiti-falkordb/</link><guid isPermaLink="true">https://blog.bluerobin.io/debug-agent/bitemporal-incident-memory-graphiti-falkordb/</guid><description>How the BlueRobin Debug Agent gives an LLM RCA agent durable, time-aware memory: a bi-temporal MemoryEpisode/MemoryEntity subgraph on the existing FalkorDB, a three-leg hybrid recall (semantic + BM25 + graph-BFS) fused by Reciprocal Rank Fusion with no LLM at retrieval, and Reflexion/Voyager-style post-incident lessons — all inside a ~50 EUR/month homelab budget.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>llm-agents</category><category>agent-memory</category><category>knowledge-graph</category><category>temporal-graph</category><category>reflexion</category><category>rrf</category><category>rca</category><category>falkordb</category></item><item><title>Correlation-First Blame Propagation: Personalized PageRank and Parameter-Free Change-Point Detection as Pre-LLM Graph Priors for Root-Cause Analysis</title><link>https://blog.bluerobin.io/debug-agent/correlation-first-blame-propagation-pagerank-baro/</link><guid isPermaLink="true">https://blog.bluerobin.io/debug-agent/correlation-first-blame-propagation-pagerank-baro/</guid><description>A deterministic, training-free pre-LLM scoring layer that seeds an RCA agent&apos;s hypothesis space: error-weighted personalized PageRank blame propagation, parameter-free BOCPD change-point onset detection, a BARO-style robust scorer, and a five-term re-normalizing additive blend with provable fail-open collapse — and a principled, CI-enforced refusal of causal discovery.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>rca</category><category>pagerank</category><category>change-point-detection</category><category>bocpd</category><category>baro</category><category>anomaly-detection</category><category>graph-algorithms</category></item><item><title>Eval-First Agentic RCA: A Deterministic Accuracy/MTTR Regression Gate and Shadow-to-Active Rollout for Shipping LLM-in-the-Loop Reliability Tooling</title><link>https://blog.bluerobin.io/debug-agent/eval-first-agentic-rca-regression-gate/</link><guid isPermaLink="true">https://blog.bluerobin.io/debug-agent/eval-first-agentic-rca-regression-gate/</guid><description>How the BlueRobin Debug Agent makes every RCA claim measurable and safe to ship: a deterministic offline replay harness over a labelled incident set emitting an AC@1 + MTTR scorecard, a per-commit regression gate that blocks merges, distractor-injected honest-accuracy arms, and a shadow-to-active live-activation rollout — at a 50 EUR/month homelab budget.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>rca</category><category>evaluation</category><category>mlops</category><category>regression-testing</category><category>sre</category><category>change-correlation</category><category>reliability</category><category>ci-cd</category></item><item><title>The StackGraph: A Persistent Neuro-Symbolic World-Model for Agentic Root-Cause Analysis at Homelab Cost</title><link>https://blog.bluerobin.io/debug-agent/stackgraph-neuro-symbolic-world-model-rca/</link><guid isPermaLink="true">https://blog.bluerobin.io/debug-agent/stackgraph-neuro-symbolic-world-model-rca/</guid><description>A systems paper on the StackGraph — a single persistent FalkorDB property graph fusing five topology and outcome layers into one world-model, consulted by a graph-free-style ReAct loop, running inside a 50 EUR/month homelab.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>rca</category><category>knowledge-graph</category><category>falkordb</category><category>llm-agents</category><category>graphrag</category><category>observability</category><category>neuro-symbolic</category></item><item><title>Do Not Grade Your Own Homework: Externalized Verification Gates, Evidence-Derived Hypothesis Trees, and Grounding-Based Confidence Capping for LLM Root-Cause Agents</title><link>https://blog.bluerobin.io/debug-agent/verification-gate-hypothesis-tree-confidence-cap/</link><guid isPermaLink="true">https://blog.bluerobin.io/debug-agent/verification-gate-hypothesis-tree-confidence-cap/</guid><description>A systems paper on the reasoning-safety core of the BlueRobin Debug Agent: a deterministic verification-gate FSM outside the model, hypothesis state derived only from real-tool evidence, and a grounding-based soft-cap that bounds LLM self-confidence below the action tiers — all driven by the MAST failure taxonomy.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>llm-agents</category><category>rca</category><category>react</category><category>mast</category><category>reasoning</category><category>verification</category><category>hallucination</category><category>observability</category></item><item><title>Advanced Retrieval in BlueRobin: Embeddings, Graphs, and Context</title><link>https://blog.bluerobin.io/articles/bluerobin-features-advanced-search-retrieval/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/bluerobin-features-advanced-search-retrieval/</guid><description>How BlueRobin combines multi-model vector search, Reciprocal Rank Fusion, knowledge graph traversal, and full-document context assembly to answer complex questions across your entire archive.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate><category>rag</category><category>graphrag</category><category>embeddings</category><category>semantic-search</category><category>ai</category><category>dotnet</category><category>qdrant</category><category>falkordb</category></item><item><title>BlueRobin Archives: From Raw Upload to Searchable Intelligence</title><link>https://blog.bluerobin.io/articles/bluerobin-features-document-archives-ocr/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/bluerobin-features-document-archives-ocr/</guid><description>A walkthrough of how BlueRobin transforms any uploaded document — PDF, image, or Office file — into a fully analysed, encrypted, and semantically indexed record.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate><category>ocr</category><category>ai</category><category>dotnet</category><category>storage</category><category>document-management</category></item><item><title>BlueRobin&apos;s Knowledge Graph: Turning Documents into Connected Entities</title><link>https://blog.bluerobin.io/articles/bluerobin-features-knowledge-graph-entity-modelling/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/bluerobin-features-knowledge-graph-entity-modelling/</guid><description>How BlueRobin extracts named entities from every document, resolves them into a canonical taxonomy, and stores a property graph that connects people, organisations, dates, and events across your entire archive.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate><category>graphrag</category><category>knowledge-graph</category><category>ner</category><category>falkordb</category><category>ai</category><category>dotnet</category></item><item><title>Local Development Setup Guide</title><link>https://blog.bluerobin.io/articles/local-development-setup-guide/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/local-development-setup-guide/</guid><description>A streamlined guide to setting up the full stack locally, from secret management with Infisical to running microservices with shared infrastructure.</description><pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate><category>patterns</category><category>dotnet</category><category>infrastructure</category></item><item><title>Managing Kubernetes Clusters with MCP Server</title><link>https://blog.bluerobin.io/articles/mcp-server-kubernetes-management/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/mcp-server-kubernetes-management/</guid><description>Revolutionizing cluster operations by replacing kubectl with natural language interaction using the Kubernetes MCP Server.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>kubernetes</category><category>infrastructure</category></item><item><title>Figma MCP: The Self-Optimizing Design Loop</title><link>https://blog.bluerobin.io/articles/figma-mcp-self-optimizing-design-loop/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/figma-mcp-self-optimizing-design-loop/</guid><description>How we use Model Context Protocol to create a closed-loop design system where agents verify implementation against Figma specs automatically.</description><pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>architecture</category><category>mcp</category></item><item><title>Aligning Design with Code using MCP Server for Figma</title><link>https://blog.bluerobin.io/articles/mcp-server-figma-design-alignment/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/mcp-server-figma-design-alignment/</guid><description>Bridging the gap between design and development by using the Model Context Protocol (MCP) to automate UI generation from Figma to Blazor.</description><pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>architecture</category><category>mcp</category></item><item><title>Model Policy Governance and Token Usage Tracking</title><link>https://blog.bluerobin.io/articles/model-policy-governance-token-usage/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/model-policy-governance-token-usage/</guid><description>Implementing model policy management and token accounting so LLM features remain cost-aware and governable at platform scale.</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate><category>llm</category><category>governance</category><category>model-policy</category><category>tokens</category><category>platform</category></item><item><title>Shipping a New AI Service with GitOps: Kustomize Overlays + ExternalSecrets</title><link>https://blog.bluerobin.io/articles/graphrag-gitops-kustomize-externalsecrets/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/graphrag-gitops-kustomize-externalsecrets/</guid><description>An end-to-end deployment walkthrough for introducing a new AI service with environment overlays, secret wiring, and production-safe defaults.</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate><category>gitops</category><category>kustomize</category><category>externalsecrets</category><category>kubernetes</category></item><item><title>AI Strategy: Why We Moved from Local Llama to OpenAI</title><link>https://blog.bluerobin.io/articles/ai-strategy-moving-local-llama-to-openai/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ai-strategy-moving-local-llama-to-openai/</guid><description>A pragmatic analysis of the costs, performance, and complexity of running local LLMs versus cloud providers, and why we adopted a hybrid architecture.</description><pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>patterns</category><category>homelab</category></item><item><title>Telegram Integration Architecture</title><link>https://blog.bluerobin.io/articles/telegram-integration-architecture-diagrams/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/telegram-integration-architecture-diagrams/</guid><description>Visual architecture overview of our Telegram integration, showing the complete flow from mobile app to backend services, authentication, and notification pipelines.</description><pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate><category>architecture</category><category>telegram</category><category>diagrams</category><category>system-design</category></item><item><title>Deploying a Telegram Bot to Kubernetes with Flux</title><link>https://blog.bluerobin.io/articles/telegram-bot-kubernetes-deployment/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/telegram-bot-kubernetes-deployment/</guid><description>Complete guide to deploying our Telegram Bot on Kubernetes, covering Docker builds, Kustomize overlays, secrets management with Infisical, and GitOps with Flux CD.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate><category>kubernetes</category><category>telegram</category><category>flux</category><category>gitops</category><category>docker</category><category>infisical</category></item><item><title>NATS-Powered Telegram Notification System</title><link>https://blog.bluerobin.io/articles/telegram-nats-notification-flow/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/telegram-nats-notification-flow/</guid><description>Building a real-time notification pipeline from document processing events to Telegram messages using NATS Core, environment-prefixed subjects, and the publisher-subscriber pattern.</description><pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate><category>nats</category><category>messaging</category><category>telegram</category><category>dotnet</category><category>event-driven</category></item><item><title>Building a Telegram Mini App with Blazor Server</title><link>https://blog.bluerobin.io/articles/telegram-miniapp-blazor-integration/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/telegram-miniapp-blazor-integration/</guid><description>A deep dive into creating a Telegram Mini App that enables passkey authentication, leveraging Blazor Server, WebAuthn, and Telegram&apos;s native theming system.</description><pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate><category>blazor</category><category>telegram</category><category>authentication</category><category>webauthn</category><category>mobile</category></item><item><title>Building a Telegram Bot for System Notifications</title><link>https://blog.bluerobin.io/articles/telegram-bot-integration-dotnet-guide/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/telegram-bot-integration-dotnet-guide/</guid><description>Going beyond simple webhooks. How to build a robust C# BackgroundService that listens to NATS events and manages a bidirectional Telegram Bot.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate><category>backend</category><category>dotnet</category><category>telegram</category><category>nats</category></item><item><title>Homelab Dashboarding: Homepage, Backstage, &amp; Authelia</title><link>https://blog.bluerobin.io/articles/homelab-dashboarding-homepage-backstage/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/homelab-dashboarding-homepage-backstage/</guid><description>Building the ultimate developer portal for the home lab. We integrate &apos;gethomepage&apos;, Spotify Backstage, and secure it all with Authelia SSO.</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate><category>homelab</category><category>infrastructure</category><category>patterns</category></item><item><title>Optimizing Kubernetes Images for Homelab Resources</title><link>https://blog.bluerobin.io/articles/kubernetes-image-optimization-small-pods/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/kubernetes-image-optimization-small-pods/</guid><description>Running a complex microservices stack on limited hardware. How we use .NET 10 Chiseled Ubuntu images and Native AOT to slash memory usage.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate><category>kubernetes</category><category>performance</category><category>dotnet</category></item><item><title>Benchmarking and Stress Testing Microservices</title><link>https://blog.bluerobin.io/articles/microservices-benchmarking-and-stress-testing/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/microservices-benchmarking-and-stress-testing/</guid><description>Using NBomber and k6 to find the breaking points of our .NET API. Analysis of CPU vs Memory vs I/O bottlenecks.</description><pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate><category>testing</category><category>performance</category><category>dotnet</category></item><item><title>Latency Revolution: Optimizing 60s to 3s</title><link>https://blog.bluerobin.io/articles/latency-revolution-optimizing-60s-to-3s/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/latency-revolution-optimizing-60s-to-3s/</guid><description>How we slashed system latency by 95% by moving from sequential HTTP calls to parallel NATS requests, implementing Redis caching, and tuning Qdrant vector search.</description><pubDate>Wed, 31 Dec 2025 00:00:00 GMT</pubDate><category>performance</category><category>backend</category></item><item><title>LangGraph State Collisions: Lessons from a Real Production Fix</title><link>https://blog.bluerobin.io/articles/langgraph-state-collision-lessons/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/langgraph-state-collision-lessons/</guid><description>What happens when agent graph node names collide with state keys, and how to design LangGraph flows that remain safe under change.</description><pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate><category>langgraph</category><category>agentic</category><category>state-management</category><category>llm</category><category>production</category></item><item><title>GraphRAG Routing in .NET: Safe Fallback Between Classic RAG and Agent Retrieval</title><link>https://blog.bluerobin.io/articles/graphrag-routing-dotnet-langgraph-fallback/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/graphrag-routing-dotnet-langgraph-fallback/</guid><description>How to introduce an agent-based retrieval routing layer with health-aware fallback to keep retrieval reliable in production.</description><pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate><category>agentic</category><category>graphrag</category><category>rag</category><category>dotnet</category></item><item><title>Hybrid Retrieval with Graph Filters: FalkorDB + Qdrant</title><link>https://blog.bluerobin.io/articles/graphrag-hybrid-retrieval-falkordb-qdrant/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/graphrag-hybrid-retrieval-falkordb-qdrant/</guid><description>A production blueprint for combining graph traversal and vector search to improve recall and precision in document retrieval.</description><pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate><category>graphrag</category><category>qdrant</category><category>falkordb</category><category>hybrid-search</category><category>ensembling</category></item><item><title>From Single-Model NER to Ensemble NER: Adding spaCy + LLM Voting</title><link>https://blog.bluerobin.io/articles/ensemble-ner-spacy-llm-voting/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ensemble-ner-spacy-llm-voting/</guid><description>How to evolve entity extraction by combining deterministic and LLM-based providers with confidence-aware ensembling.</description><pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate><category>ner</category><category>spacy</category><category>ensembling</category><category>llm</category><category>information-extraction</category></item><item><title>Agentic RRF Ensembling for Production Search</title><link>https://blog.bluerobin.io/articles/agentic-rrf-ensembling-production-search/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/agentic-rrf-ensembling-production-search/</guid><description>How to combine multiple retrieval strategies with reciprocal rank fusion to produce stable, high-quality contexts for LLM responses.</description><pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate><category>rag</category><category>rrf</category><category>ensembling</category><category>agentic</category><category>retrieval</category></item><item><title>Semantic Kernel Agents for AI Orchestration</title><link>https://blog.bluerobin.io/articles/semantic-kernel-agents-orchestration/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/semantic-kernel-agents-orchestration/</guid><description>Build intelligent AI agents using Microsoft Semantic Kernel with tool calling, memory, and multi-agent coordination in .NET.</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate><category>ai-agents</category><category>dotnet</category><category>kubernetes</category><category>semantic-kernel</category><category>tool-calling</category></item><item><title>Entity Analysis and Modeling for Graph Databases</title><link>https://blog.bluerobin.io/articles/entity-analysis-and-modeling-graph-database/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/entity-analysis-and-modeling-graph-database/</guid><description>How to extract entities (NER) from documents using LLMs and model them effectively in FalkorDB for knowledge graphs.</description><pubDate>Fri, 28 Nov 2025 00:00:00 GMT</pubDate><category>ai</category><category>database</category><category>knowledge-graph</category></item><item><title>FalkorDB Graph Database for Entity Relationships</title><link>https://blog.bluerobin.io/articles/falkordb-graph-database-knowledge-graph/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/falkordb-graph-database-knowledge-graph/</guid><description>Model and query entity relationships using FalkorDB (Redis Graph) for knowledge graphs and connected data in .NET applications.</description><pubDate>Fri, 21 Nov 2025 00:00:00 GMT</pubDate><category>caching</category><category>falkordb</category><category>database</category><category>knowledge-graph</category></item><item><title>NER with spaCy for Document Analysis</title><link>https://blog.bluerobin.io/articles/spacy-ner-document-analysis/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/spacy-ner-document-analysis/</guid><description>Extract named entities from documents using spaCy NLP service for building knowledge graphs and improving search relevance.</description><pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate><category>ai</category><category>document-processing</category></item><item><title>Improving RAG Query Quality and Relevance</title><link>https://blog.bluerobin.io/articles/improving-rag-query-quality-and-relevance/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/improving-rag-query-quality-and-relevance/</guid><description>Techniques for rewriting user queries (HyDE, Expansion) and reranking results to boost retrieval accuracy in Retrieval-Augmented Generation.</description><pubDate>Fri, 07 Nov 2025 00:00:00 GMT</pubDate><category>ai</category><category>rag</category><category>search</category></item><item><title>Building a RAG Pipeline with Ollama and Qdrant</title><link>https://blog.bluerobin.io/articles/rag-pipeline-ollama-qdrant/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/rag-pipeline-ollama-qdrant/</guid><description>Implement a complete Retrieval-Augmented Generation pipeline that combines semantic search with local LLM inference for intelligent document Q&amp;A.</description><pubDate>Fri, 31 Oct 2025 00:00:00 GMT</pubDate><category>ai</category><category>qdrant</category><category>search</category></item><item><title>Hybrid Search: Combining Semantic and Keyword Search</title><link>https://blog.bluerobin.io/articles/hybrid-search-semantic-keyword/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/hybrid-search-semantic-keyword/</guid><description>Build a powerful hybrid search system that combines vector embeddings with traditional keyword search for comprehensive document retrieval.</description><pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate><category>ai</category><category>qdrant</category><category>search</category></item><item><title>Qdrant Vector Database on Kubernetes</title><link>https://blog.bluerobin.io/articles/qdrant-kubernetes-vector-search/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/qdrant-kubernetes-vector-search/</guid><description>Deploy and configure Qdrant for production semantic search with collection management, filtering, and high availability on Kubernetes.</description><pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate><category>ai</category><category>database</category><category>kubernetes</category><category>qdrant</category><category>search</category></item><item><title>Building a Semantic Embedding Pipeline with Ollama and Qdrant</title><link>https://blog.bluerobin.io/articles/embedding-pipeline-ollama-qdrant/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/embedding-pipeline-ollama-qdrant/</guid><description>Create a production-ready embedding pipeline in .NET that generates vector embeddings with Ollama and stores them in Qdrant for semantic search.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>ai</category><category>dotnet</category><category>qdrant</category><category>search</category></item><item><title>Text Chunking Strategies for RAG</title><link>https://blog.bluerobin.io/articles/text-chunking-strategies-rag/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/text-chunking-strategies-rag/</guid><description>Implement effective text chunking strategies for RAG pipelines with semantic boundaries, overlap, and metadata preservation.</description><pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate><category>ai</category><category>document-processing</category></item><item><title>Integrating Docling OCR in a .NET Document Pipeline</title><link>https://blog.bluerobin.io/articles/docling-ocr-dotnet-integration/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/docling-ocr-dotnet-integration/</guid><description>Learn how to integrate Docling, an AI-powered document understanding library, into your .NET application for high-quality OCR with layout preservation.</description><pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate><category>ai</category><category>document-processing</category><category>dotnet</category></item><item><title>Kubernetes Cluster Setup for AI Workloads</title><link>https://blog.bluerobin.io/articles/kubernetes-cluster-setup-for-agentic-ai-workloads/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/kubernetes-cluster-setup-for-agentic-ai-workloads/</guid><description>A practical cluster setup guide for running AI services alongside traditional backends with reliable data, messaging, and observability.</description><pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate><category>kubernetes</category><category>cluster</category><category>ai</category><category>gitops</category></item><item><title>Distributed API Rate Limiting with NATS KV</title><link>https://blog.bluerobin.io/articles/distributed-rate-limiting-nats-kv/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/distributed-rate-limiting-nats-kv/</guid><description>Moving from local in-memory limits to cluster-aware NATS KV partitions for fair, durable API throttling in distributed deployments.</description><pubDate>Mon, 08 Sep 2025 00:00:00 GMT</pubDate><category>rate-limiting</category><category>nats</category><category>api</category><category>distributed-systems</category><category>dotnet</category></item><item><title>Migrating NATS Event Contracts Without Breaking Consumers</title><link>https://blog.bluerobin.io/articles/nats-event-contract-migration-strategy/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/nats-event-contract-migration-strategy/</guid><description>A practical strategy for evolving NATS subjects and event naming while keeping producers and consumers compatible during transition windows.</description><pubDate>Sun, 31 Aug 2025 00:00:00 GMT</pubDate><category>nats</category><category>event-driven</category><category>contracts</category><category>workers</category><category>migration</category></item><item><title>Idempotent Workers with NATS KV CAS</title><link>https://blog.bluerobin.io/articles/nats-kv-idempotent-workers-cas/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/nats-kv-idempotent-workers-cas/</guid><description>How compare-and-swap semantics in NATS KV can prevent duplicate event processing across multiple worker instances.</description><pubDate>Sat, 23 Aug 2025 00:00:00 GMT</pubDate><category>nats</category><category>workers</category><category>idempotency</category><category>cas</category><category>distributed-systems</category></item><item><title>MinIO Object Storage for Document Management</title><link>https://blog.bluerobin.io/articles/minio-object-storage-document-management/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/minio-object-storage-document-management/</guid><description>Deploy and integrate MinIO for S3-compatible object storage with per-user buckets, encryption, and lifecycle policies.</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate><category>encryption</category><category>kubernetes</category><category>storage</category></item><item><title>MinIO Multi-Tenant Object Storage</title><link>https://blog.bluerobin.io/articles/minio-kubernetes-multi-tenant/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/minio-kubernetes-multi-tenant/</guid><description>Deploy a production-ready MinIO cluster on Kubernetes with per-user encryption, bucket policies, and integration with your .NET applications.</description><pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate><category>encryption</category><category>kubernetes</category><category>storage</category></item><item><title>OpenTelemetry Instrumentation for .NET</title><link>https://blog.bluerobin.io/articles/opentelemetry-instrumentation-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/opentelemetry-instrumentation-dotnet/</guid><description>Implement distributed tracing, metrics, and logging with OpenTelemetry in .NET applications for full observability.</description><pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate><category>dotnet</category><category>observability</category></item><item><title>Real-Time Updates in Blazor Server with NATS</title><link>https://blog.bluerobin.io/articles/blazor-real-time-nats-updates/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/blazor-real-time-nats-updates/</guid><description>Implement real-time UI updates in Blazor Server using NATS JetStream instead of SignalR, with progress indicators and state management.</description><pubDate>Tue, 22 Jul 2025 00:00:00 GMT</pubDate><category>blazor</category><category>dotnet</category><category>event-driven</category><category>nats</category><category>real-time</category></item><item><title>NATS Monitoring and Observability</title><link>https://blog.bluerobin.io/articles/nats-monitoring-prometheus-grafana/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/nats-monitoring-prometheus-grafana/</guid><description>Set up comprehensive monitoring for NATS JetStream with Prometheus, Grafana dashboards, and alerting for production-ready messaging infrastructure.</description><pubDate>Mon, 14 Jul 2025 00:00:00 GMT</pubDate><category>monitoring</category><category>nats</category><category>observability</category></item><item><title>NATS KV and Object Store: Beyond Messaging</title><link>https://blog.bluerobin.io/articles/nats-advanced-patterns-kv-objectstore/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/nats-advanced-patterns-kv-objectstore/</guid><description>Discover the hidden powers of NATS. Replace Redis and S3 for internal use cases using the built-in Key-Value Store and Object Store capabilities of JetStream.</description><pubDate>Sun, 06 Jul 2025 00:00:00 GMT</pubDate><category>configuration</category><category>nats</category><category>state-management</category><category>storage</category></item><item><title>NATS JetStream Consumer Patterns: Work Queues vs Fan-Out</title><link>https://blog.bluerobin.io/articles/nats-jetstream-consumer-patterns/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/nats-jetstream-consumer-patterns/</guid><description>Deep dive into NATS consumer configurations. Learn how to implement Load Balanced Work Queues for scaling background jobs and Fan-Out patterns for event-driven systems.</description><pubDate>Sun, 29 Jun 2025 00:00:00 GMT</pubDate><category>architecture</category><category>jetstream</category><category>nats</category><category>patterns</category><category>performance</category></item><item><title>Getting Started with NATS JetStream in .NET</title><link>https://blog.bluerobin.io/articles/nats-introduction-jetstream-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/nats-introduction-jetstream-dotnet/</guid><description>A complete guide to replacing RabbitMQ/Kafka with NATS JetStream. Learn the core concepts of Streams, Subjects, and Consumers, and how to implement them in C#.</description><pubDate>Sun, 22 Jun 2025 00:00:00 GMT</pubDate><category>dotnet</category><category>event-driven</category><category>jetstream</category><category>messaging</category><category>nats</category></item><item><title>Automating Workflows with n8n on Kubernetes</title><link>https://blog.bluerobin.io/articles/workflow-automation-n8n-kubernetes/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/workflow-automation-n8n-kubernetes/</guid><description>How we use n8n as the &apos;glue&apos; code for our platform. Empowering low-code automation to handle document notifications, Telegram alerts, and system maintenance tasks.</description><pubDate>Sat, 14 Jun 2025 00:00:00 GMT</pubDate><category>automation</category><category>kubernetes</category></item><item><title>Remote VS Code Development on Kubernetes with Dev Containers</title><link>https://blog.bluerobin.io/articles/remote-vscode-dev-setup-kubernetes-devcontainer/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/remote-vscode-dev-setup-kubernetes-devcontainer/</guid><description>How to run a full development environment remotely with VS Code, Kubernetes, and a persistent dev container pod.</description><pubDate>Fri, 06 Jun 2025 00:00:00 GMT</pubDate><category>vscode</category><category>remote-development</category><category>kubernetes</category><category>devcontainer</category><category>dotnet</category></item><item><title>Creating Technical Diagrams with Mermaid</title><link>https://blog.bluerobin.io/articles/mermaid-diagrams-technical-documentation/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/mermaid-diagrams-technical-documentation/</guid><description>A comprehensive guide to using Mermaid.js for creating architecture diagrams, flowcharts, sequence diagrams, and more in your technical documentation.</description><pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate><category>frontend</category><category>documentation</category><category>architecture</category></item><item><title>Implementing the Glassmorphism Design System</title><link>https://blog.bluerobin.io/articles/implementing-glassmorphism-design-system/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/implementing-glassmorphism-design-system/</guid><description>A comprehensive guide to configuring a modern Glassmorphism design system using Tailwind CSS v4, focusing on backdrop filters, noise textures, and maintaining accessibility.</description><pubDate>Fri, 23 May 2025 00:00:00 GMT</pubDate><category>architecture</category><category>css</category><category>frontend</category></item><item><title>Mastering the Blazor Component Lifecycle</title><link>https://blog.bluerobin.io/articles/blazor-advanced-patterns-lifecycle/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/blazor-advanced-patterns-lifecycle/</guid><description>Stop memory leaks and race conditions. Master Blazor Server&apos;s lifecycle events and build a robust BaseComponent.</description><pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate><category>blazor</category><category>components</category><category>dotnet</category><category>patterns</category><category>performance</category></item><item><title>Practical Blazor JavaScript Interop Guide</title><link>https://blog.bluerobin.io/articles/blazor-js-interop-practical-guide/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/blazor-js-interop-practical-guide/</guid><description>Mastering JavaScript Interop in Blazor: Efficiently calling JS from C# and vice-versa, managing object references, and ensuring type safety.</description><pubDate>Wed, 07 May 2025 00:00:00 GMT</pubDate><category>frontend</category><category>blazor</category></item><item><title>Advanced Blazor Forms with Validation</title><link>https://blog.bluerobin.io/articles/blazor-forms-validation-state/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/blazor-forms-validation-state/</guid><description>Build robust forms in Blazor. Master FluentValidation integration, custom input components, and complex state management.</description><pubDate>Mon, 28 Apr 2025 00:00:00 GMT</pubDate><category>blazor</category><category>dotnet</category><category>fluent-validation</category><category>forms</category><category>patterns</category></item><item><title>Secure Your Blazor App with Authelia OIDC</title><link>https://blog.bluerobin.io/articles/authelia-oidc-blazor-authentication/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/authelia-oidc-blazor-authentication/</guid><description>Implement self-hosted Single Sign-On (SSO) for Blazor Server using Authelia and OpenID Connect (OIDC).</description><pubDate>Sat, 19 Apr 2025 00:00:00 GMT</pubDate><category>authelia</category><category>blazor</category><category>dotnet</category><category>security</category></item><item><title>Building Glass Morphism UI Components in Blazor</title><link>https://blog.bluerobin.io/articles/blazor-glass-ui-components/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/blazor-glass-ui-components/</guid><description>Create a modern, translucent UI library with Blazor and Tailwind CSS 4. Master backdrop-filter, OKLCH colors, and reusable Razor components.</description><pubDate>Thu, 10 Apr 2025 00:00:00 GMT</pubDate><category>blazor</category><category>dotnet</category><category>ui</category></item><item><title>Migrating Blazor to Tailwind CSS 4</title><link>https://blog.bluerobin.io/articles/blazor-ui-tailwind-v4-integration/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/blazor-ui-tailwind-v4-integration/</guid><description>A comprehensive guide to adopting Tailwind CSS 4 in Blazor, leveraging CSS-first configuration and the new JIT engine for a streamlined frontend workflow.</description><pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate><category>frontend</category><category>css</category><category>blazor</category></item><item><title>RavenDB: Challenges and Benefits in Production</title><link>https://blog.bluerobin.io/articles/ravendb-experience-challenges-and-benefits/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ravendb-experience-challenges-and-benefits/</guid><description>Why we chose the Document Model and RavenDB&apos;s impressive GUI, despite the challenges of a smaller ecosystem and specialized hosting requirements.</description><pubDate>Mon, 24 Mar 2025 00:00:00 GMT</pubDate><category>database</category><category>ravendb</category><category>patterns</category></item><item><title>Consumer-Driven Contract Testing with Pact</title><link>https://blog.bluerobin.io/articles/pact-consumer-driven-contract-testing/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/pact-consumer-driven-contract-testing/</guid><description>Decoupling frontend and backend tests by defining API contracts. How we verify Blazor/FastEndpoint compatibility in CI/CD without integration environments.</description><pubDate>Sat, 15 Mar 2025 00:00:00 GMT</pubDate><category>testing</category><category>backend</category><category>ci-cd</category></item><item><title>Integration Testing in .NET with Testcontainers</title><link>https://blog.bluerobin.io/articles/integration-testing-dotnet-testcontainers/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/integration-testing-dotnet-testcontainers/</guid><description>Build reliable integration tests for .NET applications using Testcontainers, WebApplicationFactory, and real database instances.</description><pubDate>Fri, 07 Mar 2025 00:00:00 GMT</pubDate><category>dotnet</category><category>testcontainers</category><category>testing</category></item><item><title>Health Checks and Readiness Probes in .NET</title><link>https://blog.bluerobin.io/articles/dotnet-health-checks-kubernetes/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/dotnet-health-checks-kubernetes/</guid><description>Implement comprehensive health checks for .NET applications with database, cache, and dependency monitoring for Kubernetes deployments.</description><pubDate>Tue, 25 Feb 2025 00:00:00 GMT</pubDate><category>dotnet</category><category>health-checks</category><category>kubernetes</category><category>monitoring</category></item><item><title>Background Job Processing in .NET</title><link>https://blog.bluerobin.io/articles/dotnet-background-job-processing/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/dotnet-background-job-processing/</guid><description>Implement reliable background job processing with hosted services, channels, and distributed task queues in .NET applications.</description><pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate><category>async</category><category>background-jobs</category><category>dotnet</category></item><item><title>Concurrency Control in .NET: Optimistic vs Pessimistic</title><link>https://blog.bluerobin.io/articles/architecture-pattern-concurrency-control-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/architecture-pattern-concurrency-control-dotnet/</guid><description>Data integrity in high-traffic applications relies on how you handle concurrent updates. We compare DB locks (Pessimistic) against Row Versioning (Optimistic) in EF Core.</description><pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate><category>backend</category><category>database</category><category>dotnet</category></item><item><title>Event-Driven Cache Invalidation Strategies</title><link>https://blog.bluerobin.io/articles/architecture-pattern-caching-invalidation-strategies/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/architecture-pattern-caching-invalidation-strategies/</guid><description>Caching is easy; invalidation is hard. Move beyond simple TTL (Time To Live) and learn how to implement precise, event-driven cache busting using Redis and NATS.</description><pubDate>Sun, 26 Jan 2025 00:00:00 GMT</pubDate><category>architecture</category><category>caching</category><category>performance</category></item><item><title>Caching Strategies in .NET with Redis and Memory Cache</title><link>https://blog.bluerobin.io/articles/dotnet-caching-strategies-redis/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/dotnet-caching-strategies-redis/</guid><description>Implement distributed and in-memory caching patterns in .NET applications for improved performance and reduced database load.</description><pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate><category>caching</category><category>dotnet</category><category>performance</category></item><item><title>Error Handling and Resilience Patterns in .NET</title><link>https://blog.bluerobin.io/articles/error-handling-resilience-patterns-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/error-handling-resilience-patterns-dotnet/</guid><description>Implement robust error handling with Result patterns, global exception handling, and Polly resilience policies in .NET applications.</description><pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate><category>dotnet</category><category>resilience</category><category>patterns</category><category>polly</category></item><item><title>Modernizing via Strangler Fig Pattern</title><link>https://blog.bluerobin.io/articles/architecture-pattern-strangler-fig-migration/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/architecture-pattern-strangler-fig-migration/</guid><description>How to safely migrate from a monolithic ASP.NET MVC app to modern microservices using the Strangler Fig Pattern and YARP (Yet Another Reverse Proxy).</description><pubDate>Fri, 27 Dec 2024 00:00:00 GMT</pubDate><category>architecture</category><category>database</category><category>patterns</category></item><item><title>The Transactional Outbox Pattern with NATS</title><link>https://blog.bluerobin.io/articles/architecture-pattern-outbox-messaging-reliability/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/architecture-pattern-outbox-messaging-reliability/</guid><description>Achieve 100% reliable messaging by atomically committing state changes and events. A deep dive into the Outbox Pattern with EF Core and NATS utilizing background relay workers.</description><pubDate>Tue, 17 Dec 2024 00:00:00 GMT</pubDate><category>architecture</category><category>messaging</category><category>backend</category></item><item><title>Practical CQRS with FastEndpoints and MediatR</title><link>https://blog.bluerobin.io/articles/architecture-pattern-cqrs-implementation-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/architecture-pattern-cqrs-implementation-dotnet/</guid><description>Separating reads from writes doesn&apos;t have to be complicated. Learn how to implement a practical CQRS architecture using FastEndpoints for the API and MediatR for clean command handling.</description><pubDate>Sun, 08 Dec 2024 00:00:00 GMT</pubDate><category>architecture</category><category>backend</category><category>dotnet</category></item><item><title>EF Core Migrations and Schema Management</title><link>https://blog.bluerobin.io/articles/efcore-migrations-schema-management/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/efcore-migrations-schema-management/</guid><description>Manage database schema evolution with EF Core migrations, including multi-environment strategies and zero-downtime deployments.</description><pubDate>Sat, 30 Nov 2024 00:00:00 GMT</pubDate><category>database</category><category>dotnet</category><category>efcore</category></item><item><title>Practical Domain-Driven Design: End-to-End Guide</title><link>https://blog.bluerobin.io/articles/domain-driven-design-practical-end-to-end-guide/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/domain-driven-design-practical-end-to-end-guide/</guid><description>A complete walkthrough from Event Storming to Code: Defining Aggregates, writing Entities, and exposing them via APIs. Seeing the big picture in .NET.</description><pubDate>Fri, 22 Nov 2024 00:00:00 GMT</pubDate><category>architecture</category><category>ddd</category><category>dotnet</category></item><item><title>Better IDs: Switching from UUID to NanoID</title><link>https://blog.bluerobin.io/articles/better-ids-switching-uuid-to-nanoid/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/better-ids-switching-uuid-to-nanoid/</guid><description>Why we moved from standard UUIDs to NanoIDs for primary keys: URL aesthetics, database considerations, and a custom alphabet implementation.</description><pubDate>Tue, 12 Nov 2024 00:00:00 GMT</pubDate><category>backend</category><category>database</category><category>architecture</category></item><item><title>FastEndpoints: The REPR Pattern for .NET APIs</title><link>https://blog.bluerobin.io/articles/fastendpoints-api-development/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/fastendpoints-api-development/</guid><description>Ditch bloated controllers. Build high-performance, maintainable APIs using the Request-Endpoint-Response (REPR) pattern with FastEndpoints.</description><pubDate>Sun, 03 Nov 2024 00:00:00 GMT</pubDate><category>api</category><category>architecture</category><category>dotnet</category><category>fastendpoints</category></item><item><title>The Repository Pattern: Abstracting Persistence</title><link>https://blog.bluerobin.io/articles/ddd-repository-pattern-efcore/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ddd-repository-pattern-efcore/</guid><description>Decouple your domain logic from EF Core. Learn how to implement Repositories for DDD Aggregates with strict interface separation.</description><pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate><category>architecture</category><category>ddd</category><category>dotnet</category><category>efcore</category></item><item><title>Domain Events: Decoupling Your Domain Logic</title><link>https://blog.bluerobin.io/articles/ddd-domain-events-csharp/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ddd-domain-events-csharp/</guid><description>Master domain events in C# to build reactive systems with loose coupling, eventual consistency, and clean separation of concerns.</description><pubDate>Fri, 18 Oct 2024 00:00:00 GMT</pubDate><category>architecture</category><category>ddd</category><category>dotnet</category><category>messaging</category></item><item><title>Building Rich Domain Models with Aggregates</title><link>https://blog.bluerobin.io/articles/ddd-aggregates-consistency-boundaries/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ddd-aggregates-consistency-boundaries/</guid><description>Learn how to design aggregates that enforce business invariants, manage consistency boundaries, and encapsulate complex domain logic in your C# applications.</description><pubDate>Fri, 11 Oct 2024 00:00:00 GMT</pubDate><category>architecture</category><category>ddd</category><category>dotnet</category></item><item><title>Value Objects: Immutability and Self-Validation in C#</title><link>https://blog.bluerobin.io/articles/ddd-value-objects-csharp/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ddd-value-objects-csharp/</guid><description>Learn how to implement value objects with built-in validation, equality semantics, and EF Core persistence for a cleaner, more expressive domain model.</description><pubDate>Fri, 04 Oct 2024 00:00:00 GMT</pubDate><category>ddd</category><category>design-patterns</category><category>dotnet</category></item><item><title>Enforcing Invariants: Factory Methods and Private Constructors</title><link>https://blog.bluerobin.io/articles/ddd-factory-methods-private-constructors/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ddd-factory-methods-private-constructors/</guid><description>Stop creating invalid objects. Learn how to use static factory methods and private constructors to ensure DDD entities are always in a valid state.</description><pubDate>Fri, 27 Sep 2024 00:00:00 GMT</pubDate><category>architecture</category><category>ddd</category><category>dotnet</category><category>patterns</category></item><item><title>Building a DDD Shared Kernel in .NET</title><link>https://blog.bluerobin.io/articles/ddd-shared-kernel-implementation-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/ddd-shared-kernel-implementation-dotnet/</guid><description>Implementation of the Shared Kernel pattern: A crucial library containing the base building blocks (Entity, AggregateRoot, ValueObject) for Domain-Driven Design.</description><pubDate>Fri, 20 Sep 2024 00:00:00 GMT</pubDate><category>architecture</category><category>ddd</category><category>dotnet</category></item><item><title>Cloudflare Workers: A &quot;Love-Hate&quot; Relationship</title><link>https://blog.bluerobin.io/articles/cloudflare-workers-edge-computing-limitations/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/cloudflare-workers-edge-computing-limitations/</guid><description>Exploring the highs of global distribution and the lows of execution limits. A candid look at when to embrace Cloudflare Workers and when to stick with containers.</description><pubDate>Wed, 11 Sep 2024 00:00:00 GMT</pubDate><category>cloudflare</category><category>infrastructure</category><category>architecture</category></item><item><title>Hardening .NET Containers for Production</title><link>https://blog.bluerobin.io/articles/container-security-best-practices-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/container-security-best-practices-dotnet/</guid><description>Stop running as root. Build secure, minimal container images for .NET applications using multi-stage builds and distroless/alpine bases.</description><pubDate>Wed, 04 Sep 2024 00:00:00 GMT</pubDate><category>containers</category><category>dotnet</category><category>kubernetes</category><category>security</category></item><item><title>Secure Service Exposure with Cloudflare Tunnel</title><link>https://blog.bluerobin.io/articles/cloudflare-tunnel-secure-service-exposure/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/cloudflare-tunnel-secure-service-exposure/</guid><description>Safely exposing internal services to the internet without opening inbound ports using cloudflared and Zero Trust access policies.</description><pubDate>Sun, 25 Aug 2024 00:00:00 GMT</pubDate><category>security</category><category>networking</category><category>cloudflare</category></item><item><title>RBAC and Service Accounts in Kubernetes</title><link>https://blog.bluerobin.io/articles/kubernetes-rbac-service-accounts/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/kubernetes-rbac-service-accounts/</guid><description>Implement fine-grained access control with Kubernetes RBAC, service accounts, and least-privilege security patterns.</description><pubDate>Thu, 15 Aug 2024 00:00:00 GMT</pubDate><category>kubernetes</category><category>rbac</category><category>security</category></item><item><title>Kubernetes Network Policies for Zero Trust Security</title><link>https://blog.bluerobin.io/articles/kubernetes-network-policies-zero-trust/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/kubernetes-network-policies-zero-trust/</guid><description>Implement network segmentation and micro-segmentation in Kubernetes using Network Policies for defense in depth.</description><pubDate>Mon, 05 Aug 2024 00:00:00 GMT</pubDate><category>kubernetes</category><category>networking</category><category>security</category><category>zero-trust</category></item><item><title>Deploying Authelia: The Open Source Identity Provider</title><link>https://blog.bluerobin.io/articles/authelia-sso-oidc-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/authelia-sso-oidc-dotnet/</guid><description>Host your own OIDC/OAuth2 Identity Provider with Authelia on Kubernetes. Secure your apps with 2FA, SSO, and fine-grained access control.</description><pubDate>Fri, 26 Jul 2024 00:00:00 GMT</pubDate><category>authelia</category><category>infrastructure</category><category>kubernetes</category><category>security</category></item><item><title>Hardened Security: Signing Certificates with YubiKey</title><link>https://blog.bluerobin.io/articles/hardened-security-yubikey-certificate-signing/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/hardened-security-yubikey-certificate-signing/</guid><description>Elevating PKI security by moving the Root CA private key to a YubiKey hardware token, ensuring the most critical secret never creates a persistent footprint on disk.</description><pubDate>Tue, 16 Jul 2024 00:00:00 GMT</pubDate><category>security</category><category>hardware</category><category>yubikey</category></item><item><title>Building a Private PKI: Root CA to Certificates</title><link>https://blog.bluerobin.io/articles/building-private-pki-root-ca-certificates/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/building-private-pki-root-ca-certificates/</guid><description>A step-by-step guide to bootstrapping a private PKI, from generating a Root CA to signing leaf certificates for internal microservices using OpenSSL.</description><pubDate>Sat, 06 Jul 2024 00:00:00 GMT</pubDate><category>security</category><category>pki</category><category>infrastructure</category></item><item><title>PostgreSQL Security Design for High Assurance</title><link>https://blog.bluerobin.io/articles/postgresql-security-design-high-assurance/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/postgresql-security-design-high-assurance/</guid><description>A comprehensive guide to securing PostgreSQL in a production environment, covering pg_hba.conf, enforced SSL/TLS, RBAC, Row-Level Security (RLS), and credential management with Infisical.</description><pubDate>Wed, 26 Jun 2024 00:00:00 GMT</pubDate><category>database</category><category>security</category><category>postgresql</category></item><item><title>Zero Trust Architecture: mTLS, Tokens, and Identity</title><link>https://blog.bluerobin.io/articles/zero-trust-architecture-mtls-tokens-identity/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/zero-trust-architecture-mtls-tokens-identity/</guid><description>Implementing &apos;Never Trust, Always Verify&apos; in Kubernetes using Linkerd for mTLS, OIDC for user identity propagation, and Workload Identity for secure service communication.</description><pubDate>Sun, 16 Jun 2024 00:00:00 GMT</pubDate><category>security</category><category>architecture</category><category>kubernetes</category></item><item><title>Managing Secrets with Infisical and Kubernetes</title><link>https://blog.bluerobin.io/debug-agent/infisical-kubernetes-secrets/</link><guid isPermaLink="true">https://blog.bluerobin.io/debug-agent/infisical-kubernetes-secrets/</guid><description>A step-by-step guide to setting up Infisical for secret management, integrating with External Secrets Operator in Kubernetes, and using secrets in .NET applications.</description><pubDate>Mon, 10 Jun 2024 00:00:00 GMT</pubDate><category>infisical</category><category>secrets</category><category>kubernetes</category><category>security</category><category>external-secrets</category></item><item><title>External Secrets Operator with Infisical</title><link>https://blog.bluerobin.io/articles/external-secrets-infisical-kubernetes/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/external-secrets-infisical-kubernetes/</guid><description>Synchronize secrets from Infisical to Kubernetes using External Secrets Operator for GitOps-friendly secret management.</description><pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate><category>gitops</category><category>kubernetes</category><category>configuration</category><category>security</category></item><item><title>Kustomize Overlays for Multi-Environment Deployments</title><link>https://blog.bluerobin.io/articles/kustomize-overlays-multi-environment/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/kustomize-overlays-multi-environment/</guid><description>Manage Kubernetes configurations across environments with Kustomize overlays, patches, and ConfigMap generators.</description><pubDate>Mon, 27 May 2024 00:00:00 GMT</pubDate><category>configuration</category><category>gitops</category><category>kubernetes</category></item><item><title>GitHub Actions CI/CD for .NET Applications</title><link>https://blog.bluerobin.io/articles/github-actions-cicd-dotnet/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/github-actions-cicd-dotnet/</guid><description>Build robust CI/CD pipelines with GitHub Actions for .NET applications including testing, Docker builds, and Kubernetes deployment.</description><pubDate>Fri, 17 May 2024 00:00:00 GMT</pubDate><category>ci-cd</category><category>containers</category><category>dotnet</category><category>kubernetes</category></item><item><title>GitOps with Flux CD: From Zero to Automated Deployments</title><link>https://blog.bluerobin.io/articles/gitops-flux-cd-introduction/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/gitops-flux-cd-introduction/</guid><description>Learn how to implement GitOps for your Kubernetes cluster using Flux CD, including repository structure, Kustomize overlays, and automated image updates.</description><pubDate>Tue, 07 May 2024 00:00:00 GMT</pubDate><category>ci-cd</category><category>configuration</category><category>gitops</category><category>kubernetes</category></item><item><title>Running PostgreSQL on Kubernetes with CloudNative-PG</title><link>https://blog.bluerobin.io/articles/postgresql-kubernetes-cnpg/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/postgresql-kubernetes-cnpg/</guid><description>Deploy a production-ready PostgreSQL cluster on Kubernetes using CloudNative-PG, with automated backups, failover, and multi-database support.</description><pubDate>Thu, 02 May 2024 00:00:00 GMT</pubDate><category>postgresql</category><category>kubernetes</category><category>cnpg</category><category>database</category><category>high-availability</category></item><item><title>Longhorn Distributed Storage for Kubernetes</title><link>https://blog.bluerobin.io/articles/longhorn-distributed-storage-kubernetes/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/longhorn-distributed-storage-kubernetes/</guid><description>Deploy Longhorn for persistent distributed block storage in Kubernetes with replication, snapshots, and disaster recovery.</description><pubDate>Sat, 27 Apr 2024 00:00:00 GMT</pubDate><category>kubernetes</category><category>storage</category></item><item><title>Automating TLS Certificates with Cert-Manager</title><link>https://blog.bluerobin.io/articles/cert-manager-tls-kubernetes/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/cert-manager-tls-kubernetes/</guid><description>Stop manually renewing certificates. Set up Cert-Manager to automate Let&apos;s Encrypt DNS-01 challenges with Cloudflare.</description><pubDate>Wed, 17 Apr 2024 00:00:00 GMT</pubDate><category>kubernetes</category><category>security</category></item><item><title>Traefik Ingress Controller on Kubernetes</title><link>https://blog.bluerobin.io/articles/traefik-ingress-kubernetes/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/traefik-ingress-kubernetes/</guid><description>Configure Traefik as your Kubernetes ingress controller with TLS termination, middleware chains, and IngressRoutes for routing traffic.</description><pubDate>Sun, 07 Apr 2024 00:00:00 GMT</pubDate><category>kubernetes</category><category>networking</category><category>security</category></item><item><title>MetalLB Load Balancer for Bare Metal Kubernetes</title><link>https://blog.bluerobin.io/articles/metallb-load-balancer-bare-metal/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/metallb-load-balancer-bare-metal/</guid><description>Deploy and configure MetalLB for load balancing in bare metal Kubernetes clusters with L2 and BGP modes.</description><pubDate>Thu, 28 Mar 2024 00:00:00 GMT</pubDate><category>bare-metal</category><category>kubernetes</category><category>networking</category></item><item><title>Storage Performance: Local NVMe SSD vs 10GbE NAS</title><link>https://blog.bluerobin.io/articles/infrastructure-performance-ssd-vs-nas/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/infrastructure-performance-ssd-vs-nas/</guid><description>Benchmarking storage tiers for our homelab. Why databases need local NVMe paths while object storage thrives on the NAS.</description><pubDate>Mon, 18 Mar 2024 00:00:00 GMT</pubDate><category>performance</category><category>storage</category></item><item><title>Setting Up K3s on a Home Server</title><link>https://blog.bluerobin.io/articles/k3s-home-server-setup/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/k3s-home-server-setup/</guid><description>A step-by-step guide to deploying K3s—a lightweight Kubernetes distribution—on a home server for running production-grade workloads.</description><pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate><category>kubernetes</category><category>k3s</category><category>homelab</category><category>infrastructure</category></item><item><title>Tailscale Setup for Kubernetes Homelab Services</title><link>https://blog.bluerobin.io/articles/networking-setup-tailscale-homelab/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/networking-setup-tailscale-homelab/</guid><description>Securely exposing K8s services like API, MinIO, and databases using Tailscale sidecars and subnet routers for seamless access from anywhere.</description><pubDate>Fri, 08 Mar 2024 00:00:00 GMT</pubDate><category>networking</category><category>kubernetes</category><category>security</category></item><item><title>Securing the Homelab: VLANS, Firewalls, and Hardening</title><link>https://blog.bluerobin.io/articles/securing-homelab-subnetting-firewall-hardening/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/securing-homelab-subnetting-firewall-hardening/</guid><description>A comprehensive guide to hardening your homelab environment using ufw, network segmentation with VLANs, and SSH key-based authentication.</description><pubDate>Wed, 28 Feb 2024 00:00:00 GMT</pubDate><category>security</category><category>infrastructure</category><category>homelab</category></item><item><title>Homelab Server &amp; NAS Setup with TrueNAS Scale</title><link>https://blog.bluerobin.io/articles/homelab-setup-truenas-server-guide/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/homelab-setup-truenas-server-guide/</guid><description>A comprehensive guide to the hardware powering our homelab. From Ryzen processors and 128GB RAM to configuring TrueNAS Scale for Kubernetes storage via iSCSI and NFS.</description><pubDate>Sun, 18 Feb 2024 00:00:00 GMT</pubDate><category>infrastructure</category><category>hardware</category><category>storage</category></item><item><title>Architecture Decision: Migrating from Cloud to On-Premise Homelab</title><link>https://blog.bluerobin.io/articles/architecture-decision-cloud-to-homelab/</link><guid isPermaLink="true">https://blog.bluerobin.io/articles/architecture-decision-cloud-to-homelab/</guid><description>Why we abandoned the cloud for bare metal. A deep dive into the cost savings, performance gains of 10GbE, and total data sovereignty of running on-premise.</description><pubDate>Thu, 08 Feb 2024 00:00:00 GMT</pubDate><category>architecture</category><category>homelab</category><category>infrastructure</category></item></channel></rss>