- Your simple prompts are burning premium tokens.
- NadirClaw routes them to cheaper models automatically. Save 40-70% on AI API costs.
+ The lowest viable model, verified.
+ NadirClaw routes every prompt to the cheapest model that can reliably answer, verifies the
+ output, and escalates only when it has to. Better answers, lower cost — 40–70% lower.
@@ -59,7 +60,23 @@ SIMPLE "Write a docstring" → gemini-flash $0.0002
> **Your keys. Your models. No middleman.** NadirClaw runs locally and routes directly to providers. No third-party proxy, no subsidized tokens, no platform that can pull the plug on you. [Why this matters.](docs/vs-clawrouter.md)
-## Benchmarks
+## How NadirClaw works
+
+
+
+
+
+Three moves, on every request:
+
+1. **Route** — a ~10ms embedding classifier predicts the *smallest* model likely to answer and sends the prompt there first. Routing modifiers (agentic tool loops, reasoning markers, vision content, long context) can override the score and force a stronger tier.
+2. **Verify** — the cheap answer is scored against quality heuristics (refusals, truncation, JSON-format failures) before it ships. Pro swaps the heuristic for a trained DeBERTa cross-encoder.
+3. **Escalate** — if the answer falls below the acceptance threshold (τ = 0.80), NadirClaw steps up to the next-best model automatically. You only pay for the big model when the small one wasn't enough.
+
+## Benchmarks — proof, not promises
+
+
+
+
NadirClaw and Nadir Pro share the same routing architecture. The numbers
below are from the trained classifier + DeBERTa verifier in Nadir Pro;
@@ -198,10 +215,6 @@ Monitor your routing in real-time with `nadirclaw dashboard`:
Install the dashboard extras: `pip install nadirclaw[dashboard]`
-
Beyond basic simple/complex classification, NadirClaw applies routing modifiers that can override the base decision:
@@ -1215,33 +1228,16 @@ nadirclaw test --timeout 10
## How It Works
-NadirClaw sits between your application and the LLM provider as a transparent proxy:
-
-```
-┌─────────────────┐
-│ Your App │
-│ (Claude Code, │
-│ Cursor, etc) │
-└────────┬────────┘
- │ OpenAI API request
- ▼
-┌─────────────────┐
-│ NadirClaw │
-│ Classifier │
-└────────┬────────┘
- │ Route decision (10ms)
- ▼
-┌─────────────────┐
-│ LLM Provider │
-│ (Claude, GPT, │
-│ Gemini, etc) │
-└─────────────────┘
-```
+NadirClaw sits between your application and the LLM provider as a transparent local proxy. Your tools talk to it on `localhost`; it classifies, optimizes, verifies, and routes each request directly to the provider with your own keys — nothing passes through a third party.
+
+
+
+
Most LLM usage doesn't need a premium model. NadirClaw routes each prompt to the right tier automatically:
-
+
### Step-by-Step
diff --git a/docs/images/architecture.png b/docs/images/architecture.png
deleted file mode 100644
index 8082bca..0000000
Binary files a/docs/images/architecture.png and /dev/null differ
diff --git a/docs/images/architecture.svg b/docs/images/architecture.svg
new file mode 100644
index 0000000..7dd78ef
--- /dev/null
+++ b/docs/images/architecture.svg
@@ -0,0 +1,91 @@
+
diff --git a/docs/images/banner.png b/docs/images/banner.png
deleted file mode 100644
index 1d3b1df..0000000
Binary files a/docs/images/banner.png and /dev/null differ
diff --git a/docs/images/banner.svg b/docs/images/banner.svg
new file mode 100644
index 0000000..ab495ea
--- /dev/null
+++ b/docs/images/banner.svg
@@ -0,0 +1,98 @@
+
diff --git a/docs/images/how-it-works.svg b/docs/images/how-it-works.svg
new file mode 100644
index 0000000..114cd6c
--- /dev/null
+++ b/docs/images/how-it-works.svg
@@ -0,0 +1,68 @@
+
diff --git a/docs/images/proof.svg b/docs/images/proof.svg
new file mode 100644
index 0000000..91e25ae
--- /dev/null
+++ b/docs/images/proof.svg
@@ -0,0 +1,49 @@
+
diff --git a/docs/images/routing-flow.png b/docs/images/routing-flow.png
deleted file mode 100644
index d27d868..0000000
Binary files a/docs/images/routing-flow.png and /dev/null differ
diff --git a/docs/images/routing-flow.svg b/docs/images/routing-flow.svg
new file mode 100644
index 0000000..978b226
--- /dev/null
+++ b/docs/images/routing-flow.svg
@@ -0,0 +1,93 @@
+
diff --git a/docs/images/social-preview.png b/docs/images/social-preview.png
new file mode 100644
index 0000000..0d2160f
Binary files /dev/null and b/docs/images/social-preview.png differ
diff --git a/docs/images/social-preview.svg b/docs/images/social-preview.svg
index 88d557b..91edbaf 100644
--- a/docs/images/social-preview.svg
+++ b/docs/images/social-preview.svg
@@ -1,41 +1,47 @@
-