Unified LLM Gateway
One API for Claude, GPT and Gemini — OpenAI- and Anthropic-compatible, with plans, usage metering and an admin console.
Problem
Teams want to use the best model for each task without juggling several provider accounts, SDKs, keys and invoices — and without rewriting code that already speaks the OpenAI or Anthropic API.
How it flows
- OpenAI / Anthropic SDK
- Auth & plan limits
- Router
- Provider pool
- Metering
- Admin console
What I built
- Drop-in endpoints compatible with both the OpenAI and Anthropic SDKs, including streaming and tool calls, so existing clients only change a base URL.
- A routing layer over a pool of upstream providers with health monitoring and fallback.
- Per-key usage metering, plan limits and a checkout flow, with an admin console for users, plans, keys and pool health.
- Provider and payment secrets encrypted at rest; bot protection on sign-up.
- Ships as Docker with an optional Cloudflare Tunnel, or to Workers / Vercel; covered by Vitest.
Stack
TypeScriptBunTanStack StartDrizzlePostgreSQLBetter AuthCloudflareDockerVitest