Skip to content
All projects
PROTOTYPEWorking build, not publicly deployedOriginal workInfrastructure

9Router AI Platform

LLM routing layer that presents one API across OpenAI, Claude, Gemini, and OpenRouter, with health-based routing and failover.

9Router request-routing flow visualisation
Concept artwork illustrating the architecture. Not a screenshot of a running interface.

Overview

A routing layer that sits in front of several LLM providers and exposes one interface to callers. Applications ask for a capability rather than naming a vendor, and the router decides where the request goes.

Problem

Provider SDKs disagree on request shape, streaming format, and error semantics, so switching vendors means touching every call site. Rate limits and outages hit without warning, and a hard-coded provider means an outage upstream becomes an outage in your product.

Solution

One normalised request and response schema, with per-provider adapters translating in and out. Provider health is tracked in Redis so a failing upstream is skipped rather than retried blindly, and requests fall back through a preference order until one succeeds.

Architecture

A Node service handles routing; adapters isolate provider quirks; Redis holds health state and cached responses so repeat prompts avoid a paid round trip. A Next.js dashboard reads that state. Everything runs in containers.

Key features

  • Single normalised API across multiple providers
  • Health-aware routing that skips failing upstreams
  • Ordered failover across the provider list
  • Response caching in Redis to avoid repeat calls
  • Streaming passthrough with a consistent event shape
  • Dashboard over live routing state

Technology stack

Next.jsTypeScriptRedisNode.jsDockerOpenAI API

Current status

A working prototype I run locally. It is not deployed publicly and the repository is private, so there is no link to offer yet.

Links

No public repository or deployment for this project yet, so there is nothing to link here. I would rather leave this empty than point at something that does not exist — happy to talk through the work directly. Get in touch.