Technical Writing

Blog

Notes from building with Rust, AI, and whatever else the project demands. No filler — just what was actually hard and what worked.

May 26, 2026 · 6 min read

Failover in Microservices: Keeping Your System Resilient

Learn how microservices automatically detect failures and reroute traffic to healthy instances. A practical guide to failover mechanisms, circuit breakers, and building fault-tolerant systems.

Microservices Resilience Failover DevOps System Design Read →
May 23, 2026 · 8 min read

Unifying two registries into one: the provider catalog refactor

When microservices and AI providers lived in two different registries, every code path that touched both paid a coordination tax. Here's how we collapsed them into one.

Architecture Refactoring MongoDB TypeScript Microservices Read →
May 12, 2026 · 8 min read

Pull-First, Push-When-You-Have-To: A Health Protocol for In-House Microservices

How we built a microservice health protocol with no orchestrator, no service mesh, and one config file — and the day a `docker stop` forced us to add a push channel.

Architecture Microservices Distributed Systems Health Checks Node.js Read →
May 12, 2026 · 9 min read

Centralizing AI Keys: One Gateway, Many Microservices

Why each microservice shouldn't hold its own LLM keys, and how we built an OpenAI-compatible passthrough that handles routing, audit, and a keyless local-models adapter — all in our monolith.

AI LLM Microservices OpenAI Architecture API Design Read →
May 12, 2026 · 7 min read

The Modular Monolith That Learned to Outsource

Why we ship c10r.io as a single Next.js process — and the three reasons we make exceptions. A field report from a CRM platform that earned exactly three microservices.

Architecture Microservices Modular Monolith Next.js System Design Read →
Apr 30, 2026 · 6 min read

MCP's Streamable HTTP Handshake: The Notification You Can't Skip

Building an HTTP MCP client from scratch and hitting `Unauthorized: Session not found` on every tool call — even with a valid session ID. The fix is one line of spec most SDKs hide from you.

Rust MCP HTTP Axum AI Read →
Apr 17, 2026 · 9 min read

Wiring OAuth 2.1 into a Rust MCP server for claude.ai

How we added just enough OAuth 2.1 to FastClient's integrated MCP server to make it work with claude.ai's custom-connector flow — without turning a small Axum app into Keycloak.

Rust Axum OAuth MCP Claude DevOps Read →
Apr 14, 2026 · 6 min read

The Daemon Died, the Bot Kept Polling: Layered Process Supervision in Rust

Thirteen Telegram bot processes were fighting for the same API token like gulls on a chip. The daemon was long dead. The bots had not gotten the memo.

Rust Tokio POSIX System Design Process Supervision Read →
Apr 10, 2026 · 6 min read

Making Your MCP Server Findable: Link Headers, HTML Tags, and RFC 9728

An MCP server nobody can find is an MCP server nobody uses. We added three discovery mechanisms so any AI agent can go from a bare URL to a live tool connection in under a second.

MCP AI Rust Axum OAuth RFC 9728 Read →
Apr 10, 2026 · 7 min read

Your Business, Discoverable by AI: How MCP Lives Inside This Site

We run two live MCP servers on mcsoftsolution.com — one for any AI to discover what we do, one for us to publish content like this post without ever touching a CMS. Here's how and why.

AI MCP Rust Axum Read →
Apr 9, 2026 · 5 min read

How MCP Servers Actually Handle Authentication

Everyone talks about what MCP tools can do. Nobody talks about how the server knows who's asking — and that turns out to be a genuinely hard problem.

MCP OAuth Authentication System Design API Security Read →
Apr 8, 2026 · 8 min read

Skip the CI: Deploying a Rust/Axum Binary to a VPS in One Script

Deploy Rust/Axum to Debian 12 in under 2 minutes — no Docker, no GitHub Actions. Just cargo-zigbuild, SCP, and systemd.

Rust Axum DevOps cargo-zigbuild Read →