adaptive-memory-multi-model-router 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LAUNCH.md CHANGED
@@ -16,12 +16,15 @@
16
16
 
17
17
  **Title**:
18
18
  ```
19
- Show HN: A3M Router – LLM routing with learned cost-quality tradeoffs (872 weekly downloads)
19
+ Show HN: A3M Router – We built an LLM router. Nobody cared for 2 days. Then word-of-mouth kicked in.
20
20
  ```
21
21
 
22
22
  **Text** (copy from `articles/hackernews-show-hn.md`):
23
23
  ```
24
- After hitting 872 weekly downloads on npm, I wanted to share what we've built:
24
+ Day 1: 552 downloads. Day 2: 320 downloads. We thought it was dead.
25
+ Day 3: 1,903 downloads. 245% growth from Day 1. Zero marketing budget.
26
+
27
+ 2,775 downloads in 3 days. All organic.
25
28
 
26
29
  A3M Router (adaptive-memory-multi-model-router) is a production-ready LLM routing library that actually optimizes for cost vs quality based on your query.
27
30
 
@@ -69,8 +72,8 @@ npx a3m-router benchmark # Compare all providers
69
72
 
70
73
  Performance
71
74
  -----------
72
- 320 downloads/day average
73
- 5.7x more downloads than similar packages
75
+ 2,775 downloads in 3 days
76
+ 1,903 downloads on Day 3 alone (245% growth from Day 1)
74
77
  • Zero dependencies (except nanoid)
75
78
  • 3.0 MB unpacked
76
79
 
@@ -92,11 +95,12 @@ GitHub: https://github.com/Das-rebel/adaptive-memory-multi-model-router
92
95
 
93
96
  **Tweet 1/10**:
94
97
  ```
95
- Our OpenAI bill hit $2,400 in one month.
98
+ Day 1: 552 downloads. Day 2: 320 downloads. We thought nobody cared.
99
+ Day 3: 1,903 downloads. 245% growth. Zero marketing budget.
96
100
 
97
- We built an intelligent router that cut costs by 70% while maintaining quality.
101
+ 2,775 downloads in 3 days for our LLM router.
98
102
 
99
- Here's how A3M Router works 🧵👇
103
+ Here's the story + how A3M Router works 🧵👇
100
104
  ```
101
105
 
102
106
  **Tweet 2/10**:
@@ -186,12 +190,13 @@ That's it. No config needed.
186
190
 
187
191
  **Tweet 9/10**:
188
192
  ```
189
- 📊 872+ weekly downloads
193
+ 📊 2,775 downloads in 3 days
194
+ 📈 245% growth Day 1 → Day 3
190
195
  🧪 33 tests passing
191
- 🏷️ 156 keywords
192
196
  🔌 116 integrations
193
197
 
194
- Growing fast because it WORKS
198
+ Day 1: 552. Day 2: 320. Day 3: 1,903.
199
+ Word-of-mouth works. Zero marketing spend.
195
200
  ```
196
201
 
197
202
  **Tweet 10/10**:
@@ -217,7 +222,7 @@ Questions? Drop them below! 👇
217
222
  ### 3. Dev.to (PRIORITY 2)
218
223
  **URL**: https://dev.to/new
219
224
 
220
- **Title**: "Building an LLM Router That Actually Works: Lessons from 872 Weekly Downloads"
225
+ **Title**: "Building an LLM Router That Actually Works: 2,775 Downloads in 3 Days, Zero Marketing Budget"
221
226
 
222
227
  **Content**: Copy from `articles/devto-llm-routing.md`
223
228
 
@@ -230,7 +235,7 @@ Questions? Drop them below! 👇
230
235
  ### 4. Reddit r/MachineLearning (PRIORITY 2)
231
236
  **URL**: https://www.reddit.com/r/MachineLearning/submit
232
237
 
233
- **Title**: "[P] A3M Router: Production-ready LLM routing with learned cost-quality optimization (872 weekly downloads)"
238
+ **Title**: "[P] A3M Router: Production-ready LLM routing 2,775 downloads in 3 days, 245% growth, zero marketing"
234
239
 
235
240
  **Content**: Copy from `articles/reddit-ml.md`
236
241
 
@@ -271,7 +276,9 @@ console.log(result.estimated_cost); // $0.0004
271
276
  **Results**
272
277
  - 70% cost reduction
273
278
  - 2x speed improvement
274
- - 872+ weekly downloads
279
+ - 2,775 downloads in 3 days
280
+ - 1,903 downloads on Day 3 alone (245% growth from Day 1)
281
+ - Zero marketing budget
275
282
  - 33 tests passing
276
283
 
277
284
  **Try it**
@@ -301,7 +308,7 @@ Would love your feedback!
301
308
  ### 7. Medium (PRIORITY 3)
302
309
  **URL**: https://medium.com/new-story
303
310
 
304
- **Title**: "Building a Production-Ready LLM Router: Lessons from 872 Weekly Downloads"
311
+ **Title**: "Building a Production-Ready LLM Router: 2,775 Downloads in 3 Days on Zero Marketing"
305
312
 
306
313
  **Content**: Copy from `articles/medium-building-llm-router.md`
307
314
 
@@ -312,7 +319,7 @@ Would love your feedback!
312
319
  ### 8. IndieHackers (PRIORITY 3)
313
320
  **URL**: https://www.indiehackers.com/post/new
314
321
 
315
- **Title**: "Show IH: A3M Router - Cut LLM API costs by 70% with intelligent routing"
322
+ **Title**: "Show IH: A3M Router - Cut LLM API costs by 70% with intelligent routing (2,775 downloads in 3 days)"
316
323
 
317
324
  **Content**:
318
325
  ```
@@ -334,7 +341,10 @@ Built a learned routing system that:
334
341
  - 70% cost reduction ($2,400 → $720/month)
335
342
  - 2x speed improvement
336
343
  - 94% quality retention
337
- - 872+ weekly downloads on npm
344
+ - 2,775 downloads in 3 days on npm
345
+ - 1,903 downloads on Day 3 alone
346
+ - 245% growth from Day 1 to Day 3
347
+ - Zero marketing budget — all word-of-mouth
338
348
 
339
349
  **Tech Stack**
340
350
  - Node.js/TypeScript
@@ -386,10 +396,11 @@ npx a3m-router route "Your query"
386
396
  ```
387
397
 
388
398
  **Stats:**
389
- 📈 872+ weekly downloads
399
+ 📈 2,775 downloads in 3 days
400
+ 📈 1,903 downloads on Day 3 alone
401
+ 📈 245% growth from Day 1 to Day 3
390
402
  🧪 33 tests passing
391
403
  🔌 116 integrations
392
- 🏷️ 156 keywords
393
404
 
394
405
  GitHub: https://github.com/Das-rebel/adaptive-memory-multi-model-router
395
406
  ```
@@ -550,7 +561,10 @@ asciinema upload demo.cast
550
561
  ```
551
562
  🚀 A3M Router is LIVE!
552
563
 
553
- After 18 versions and 872 weekly downloads, we're officially launching v1.9.5!
564
+ 2,775 downloads in 3 days. Zero marketing budget.
565
+
566
+ Day 1: 552 downloads. Day 2: 320. Day 3: 1,903.
567
+ That's 245% growth. All word-of-mouth.
554
568
 
555
569
  ✨ Intelligent LLM routing
556
570
  💰 50-80% cost savings
package/README.md CHANGED
@@ -29,6 +29,13 @@ A3M Router sits between your code and your LLM providers. It analyzes each query
29
29
 
30
30
  **Result: 40-70% cost savings with no quality loss on simple queries.**
31
31
 
32
+
33
+ ## Demo
34
+
35
+ ![A3M Router CLI Demo](demo/demo.svg)
36
+
37
+ *Simple queries → free providers. Complex queries → capable models. Automatically.*
38
+
32
39
  ---
33
40
 
34
41
  ## The Problem
@@ -1,14 +1,21 @@
1
1
  ---
2
- title: "Show HN: I cut our OpenAI bill from $2,400 to $720 with a routing layer"
2
+ title: "Show HN: A3M Router We built an LLM router. Nobody cared for 2 days. Then word-of-mouth kicked in."
3
3
  ---
4
4
 
5
- # Show HN: I cut our OpenAI bill from $2,400 to $720 with a routing layer
5
+ # Show HN: A3M Router We built an LLM router. Nobody cared for 2 days. Then word-of-mouth kicked in.
6
6
 
7
- I was paying **$2,400/month** for OpenAI API calls.
7
+ Day 1: 552 downloads. Day 2: 320 downloads. We thought it was dead.
8
+ Day 3: 1,903 downloads. 245% growth from Day 1. Zero marketing budget.
8
9
 
9
- We're a 5-person startup processing ~1,000 LLM queries/day. Customer support automation, code generation, text summarization.
10
+ 2,775 downloads in 3 days. All organic.
10
11
 
11
- We were using GPT-4 for **everything**. Even simple questions went to GPT-4 at $0.03/query.
12
+ ---
13
+
14
+ ## What I Built
15
+
16
+ A3M Router — an open-source npm package that analyzes each LLM query and routes it to the cheapest capable provider automatically.
17
+
18
+ We're a small team processing ~1,000 LLM queries/day. Customer support automation, code generation, text summarization. We were using GPT-4 for **everything**. Even simple questions went to GPT-4 at $0.03/query.
12
19
 
13
20
  I looked at our logs:
14
21
  - **34%** simple Q&A (any model works)
@@ -20,9 +27,7 @@ We were overpaying by **70%**.
20
27
 
21
28
  ---
22
29
 
23
- ## What I Built
24
-
25
- **A3M Router** - analyzes each query and routes to the cheapest capable provider automatically.
30
+ ## How It Works
26
31
 
27
32
  **Before:**
28
33
  ```javascript
@@ -43,6 +48,15 @@ await router.route("What is 2+2?");
43
48
  // Automatically picks cheapest capable provider
44
49
  ```
45
50
 
51
+ The routing algorithm is inspired by RouteLLM (arXiv:2404.06035):
52
+
53
+ 1. **Analyze query** — Detects code, math, complexity, language
54
+ 2. **Check providers** — Cost, latency, quality scores for each
55
+ 3. **Smart routing** — Simple → cheap. Code → fast. Complex → quality.
56
+ 4. **Track & fallback** — Logs costs, retries if provider fails
57
+
58
+ **Zero configuration.** Works immediately with 12 providers pre-configured.
59
+
46
60
  ---
47
61
 
48
62
  ## Results (30 Days)
@@ -58,14 +72,21 @@ await router.route("What is 2+2?");
58
72
 
59
73
  ---
60
74
 
61
- ## How It Works
75
+ ## The Launch Story
62
76
 
63
- 1. **Analyze query** - Detects code, math, complexity, language
64
- 2. **Check providers** - Cost, latency, quality scores for each
65
- 3. **Smart routing** - Simple → cheap. Code → fast. Complex → quality.
66
- 4. **Track & fallback** - Logs costs, retries if provider fails
77
+ We published to npm and... crickets.
67
78
 
68
- **Zero configuration.** Works immediately with 12 providers pre-configured.
79
+ | Day | Downloads | How it felt |
80
+ |-----|-----------|-------------|
81
+ | Day 1 | 552 | "Okay, modest start. Early adopters." |
82
+ | Day 2 | 320 | "It's dead. The launch flopped." |
83
+ | Day 3 | 1,903 | "Wait, WHAT?" |
84
+
85
+ No blog post. No HN submission. No Twitter thread. No Product Hunt. No paid promotion of any kind.
86
+
87
+ 245% growth from Day 1 to Day 3. 6x from Day 2 to Day 3.
88
+
89
+ The lesson: developer tools spread through backchannels — Discord servers, Slack channels, DMs between coworkers. That takes 48 hours to compound. The Day 2 dip was real and demoralizing. But Day 3 proved that word-of-mouth works on its own timeline.
69
90
 
70
91
  ---
71
92
 
@@ -84,8 +105,6 @@ npx a3m-router compare "Write Python to sort an array"
84
105
  npx a3m-router benchmark
85
106
  ```
86
107
 
87
- **Or try online:** https://codesandbox.io/p/sandbox/github/Das-rebel/adaptive-memory-multi-model-router/tree/main/playground
88
-
89
108
  No API keys needed to test routing logic.
90
109
 
91
110
  ---
@@ -109,27 +128,10 @@ No API keys needed to test routing logic.
109
128
 
110
129
  ---
111
130
 
112
- ## Features
113
-
114
- **Out of the box:**
115
- - 12 providers configured (Groq, Cerebras, Mistral, OpenAI, Anthropic, Google, DeepSeek, etc.)
116
- - Automatic query analysis
117
- - Cost tracking across all providers
118
- - Provider fallback
119
- - Batch processing
120
- - Response caching
121
- - CLI tools
122
-
123
- **Zero configuration needed.**
124
-
125
- ---
126
-
127
131
  ## Technical Details
128
132
 
129
133
  ### Routing Algorithm
130
134
 
131
- Inspired by RouteLLM (arXiv:2404.06035):
132
-
133
135
  ```javascript
134
136
  // Feature extraction
135
137
  const features = extractQueryFeatures("Write Python to sort array");
@@ -190,10 +192,9 @@ If you're using one provider for everything:
190
192
 
191
193
  - **GitHub**: https://github.com/Das-rebel/adaptive-memory-multi-model-router
192
194
  - **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
193
- - **Playground**: https://codesandbox.io/p/sandbox/github/Das-rebel/adaptive-memory-multi-model-router/tree/main/playground
194
195
 
195
- **Stats**: 872 weekly downloads, 33 tests passing, 156 keywords, 116 integrations.
196
+ **Stats**: 2,775 downloads in 3 days, 1,903 on Day 3, 245% growth, zero marketing budget.
196
197
 
197
198
  ---
198
199
 
199
- Questions about the routing algorithm? What features should we add?
200
+ Questions about the routing algorithm? What features should we add? And has anyone else experienced the "Day 2 dip then Day 3 explosion" pattern with developer tool launches?
@@ -1,14 +1,17 @@
1
1
  ---
2
- title: "Building an LLM Router That Actually Works: Lessons from 872 Weekly Downloads"
2
+ title: "Building an LLM Router That Actually Works: 2,775 Downloads in 3 Days, Zero Marketing Budget"
3
3
  published: false
4
- description: "How we built adaptive-memory-multi-model-router - a production-ready LLM routing library with learned routing, cost optimization, and 12 provider support."
4
+ description: "How we built adaptive-memory-multi-model-router a production-ready LLM routing library that went from 552 downloads on Day 1 to 1,903 on Day 3 with zero marketing."
5
5
  tags: llm, ai, routing, javascript, typescript, openai, claude, groq
6
6
  canonical_url: https://github.com/Das-rebel/adaptive-memory-multi-model-router
7
7
  ---
8
8
 
9
- # Building an LLM Router That Actually Works: Lessons from 872 Weekly Downloads
9
+ # Building an LLM Router That Actually Works: 2,775 Downloads in 3 Days, Zero Marketing Budget
10
10
 
11
- After 18 versions and 872 weekly downloads, here's what we learned building a production-ready LLM routing library.
11
+ Day 1: 552 downloads. Day 2: 320 downloads. We thought it was dead.
12
+ Day 3: 1,903 downloads. 245% growth from Day 1. All word-of-mouth.
13
+
14
+ Here's what we built and what we learned from the launch curve.
12
15
 
13
16
  ## The Problem
14
17
 
@@ -64,6 +67,17 @@ Query → Feature Extraction → Router → Provider Selection → Execution
64
67
  Translation? Tradeoff Health Checks
65
68
  ```
66
69
 
70
+ ## The Launch Curve
71
+
72
+ | Day | Downloads | Notes |
73
+ |-----|-----------|-------|
74
+ | Day 1 | 552 | Modest. A few early adopters found it. |
75
+ | Day 2 | 320 | Thought the launch flopped. Fewer than Day 1. |
76
+ | Day 3 | 1,903 | 6x Day 2. 245% growth from Day 1. Word-of-mouth kicked in. |
77
+ | **Total** | **2,775** | **Zero marketing budget.** |
78
+
79
+ Lesson: good tooling spreads on its own timeline. The Day 2 dip was demoralizing, but Day 3 proved that word-of-mouth compounds — it just takes a beat.
80
+
67
81
  ## Real-World Usage
68
82
 
69
83
  ```javascript
@@ -85,7 +99,9 @@ const results = router.routeBatch([
85
99
 
86
100
  ## Performance
87
101
 
88
- - **320 downloads/day** average
102
+ - **2,775 downloads in 3 days**
103
+ - **1,903 downloads on Day 3 alone** (245% growth from Day 1)
104
+ - **Zero marketing budget**
89
105
  - **33 tests** passing
90
106
  - **139 keywords** for discoverability
91
107
  - **116 integrations** supported
@@ -1,8 +1,13 @@
1
- Show HN: A3M Router – LLM routing with learned cost-quality tradeoffs
1
+ Show HN: A3M Router – We built an LLM router. Nobody cared for 2 days. Then word-of-mouth kicked in.
2
2
 
3
- After hitting 872 weekly downloads on npm, I wanted to share what we've built:
3
+ Day 1: 552 downloads. Day 2: 320 downloads. We thought it was dead.
4
+ Day 3: 1,903 downloads. 245% growth from Day 1. Zero marketing budget.
4
5
 
5
- A3M Router (adaptive-memory-multi-model-router) is a production-ready LLM routing library that actually optimizes for cost vs quality based on your query.
6
+ 2,775 downloads in 3 days. All organic.
7
+
8
+ I'm sharing what we built and what we learned from the launch curve.
9
+
10
+ A3M Router (adaptive-memory-multi-model-router) is a production-ready LLM routing library that optimizes for cost vs quality based on your query.
6
11
 
7
12
  The Problem
8
13
  -----------
@@ -34,6 +39,16 @@ routeQuery("Explain quantum entanglement");
34
39
  // → mistral/mistral-large (reasoning strength)
35
40
  ```
36
41
 
42
+ The Launch Story
43
+ ----------------
44
+ - Day 1: 552 downloads. Modest. A few early adopters found it.
45
+ - Day 2: 320 downloads. We thought the launch flopped. Fewer than Day 1.
46
+ - Day 3: 1,903 downloads. 6x Day 2. 245% growth from Day 1.
47
+
48
+ No blog post. No HN submission. No Twitter thread. No Product Hunt. Just developers telling other developers.
49
+
50
+ Lesson: good tooling spreads on its own timeline. The Day 2 dip was demoralizing, but Day 3 proved that word-of-mouth compounds — it just takes a beat.
51
+
37
52
  Key Features
38
53
  ------------
39
54
  • 12 providers: Groq, Cerebras, Mistral, OpenAI, Anthropic, Google, DeepSeek + CLI/local
@@ -53,8 +68,10 @@ npx a3m-router benchmark # Compare all providers
53
68
 
54
69
  Performance
55
70
  -----------
56
- 320 downloads/day average
57
- 5.7x more downloads than similar packages
71
+ 2,775 downloads in 3 days
72
+ 1,903 downloads on Day 3 alone
73
+ • 245% growth from Day 1 to Day 3
74
+ • Zero marketing budget
58
75
  • Zero dependencies (except nanoid)
59
76
  • 3.0 MB unpacked
60
77
 
@@ -62,4 +79,4 @@ Try it: npm install adaptive-memory-multi-model-router
62
79
 
63
80
  Would love feedback on the routing algorithm - what features should we add?
64
81
 
65
- GitHub: https://github.com/Das-rebel/adaptive-memory-multi-model-router
82
+ GitHub: https://github.com/Das-rebel/adaptive-memory-multi-model-router
@@ -1,8 +1,14 @@
1
- [P] A3M Router: Production-ready LLM routing with learned cost-quality optimization (872 weekly downloads)
1
+ [P] A3M Router: Production-ready LLM routing 2,775 downloads in 3 days, 245% growth, zero marketing
2
2
 
3
3
  Hi r/MachineLearning,
4
4
 
5
- We've been working on an LLM routing library that's now hitting 872 weekly downloads on npm, and I wanted to share the technical approach for feedback.
5
+ We've been working on an LLM routing library that just hit 2,775 downloads in 3 days — all organic, zero marketing budget. I wanted to share the technical approach for feedback.
6
+
7
+ **Launch numbers:**
8
+ - Day 1: 552 downloads
9
+ - Day 2: 320 downloads (we thought it flopped)
10
+ - Day 3: 1,903 downloads (245% growth from Day 1)
11
+ - Total: 2,775 downloads in 3 days
6
12
 
7
13
  **What it does:**
8
14
  A3M Router intelligently routes LLM queries to the optimal provider based on query characteristics, cost constraints, and quality requirements.
@@ -65,7 +71,8 @@ Users can add their own providers without code changes:
65
71
  - Batch processing with concurrency control
66
72
 
67
73
  **Performance:**
68
- - 320 downloads/day average
74
+ - 2,775 downloads in 3 days
75
+ - 1,903 downloads on Day 3 alone (245% growth from Day 1)
69
76
  - 33 comprehensive tests
70
77
  - 139 npm keywords (max visibility)
71
78
  - 116 integrations (GitHub, Slack, Telegram, etc.)
@@ -1,9 +1,12 @@
1
- # Twitter Thread: How We Cut LLM API Costs by 70% with Smart Routing 🧵
1
+ # Twitter Thread: The LLM Router Nobody Cared About Until Day 3 🧵
2
2
 
3
3
  ## Tweet 1/10 - Hook
4
- Our OpenAI bill hit $2,400 in one month. We built an intelligent router that cut costs by 70% while maintaining quality.
4
+ Day 1: 552 downloads. Day 2: 320 downloads. We thought nobody cared.
5
+ Day 3: 1,903 downloads. 245% growth. Zero marketing budget.
5
6
 
6
- Here's how A3M Router works 🧵👇
7
+ 2,775 downloads in 3 days for our LLM router.
8
+
9
+ Here's the story + how A3M Router works 🧵👇
7
10
 
8
11
  ## Tweet 2/10 - The Problem
9
12
  Most apps use GPT-4 for EVERYTHING:
@@ -74,13 +77,14 @@ npx a3m-router route "Your query"
74
77
 
75
78
  That's it. No config needed.
76
79
 
77
- ## Tweet 9/10 - Results
78
- 📊 872+ weekly downloads
80
+ ## Tweet 9/10 - Growth Numbers
81
+ 📊 2,775 downloads in 3 days
82
+ 📈 245% growth Day 1 → Day 3
79
83
  🧪 33 tests passing
80
84
  🔌 116 integrations
81
- 🏷️ 156 keywords
82
85
 
83
- Growing fast because it WORKS
86
+ Day 1: 552. Day 2: 320. Day 3: 1,903.
87
+ Word-of-mouth works. Zero marketing spend.
84
88
 
85
89
  ## Tweet 10/10 - CTA
86
90
  Try it today:
@@ -0,0 +1,76 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="600" height="280" viewBox="0 0 600 280">
2
+ <style>
3
+ .label { font-family: 'SF Mono', monospace; font-size: 12px; fill: #8b949e; }
4
+ .value { font-family: 'SF Mono', monospace; font-size: 14px; font-weight: bold; }
5
+ .title { font-family: -apple-system, system-ui, sans-serif; font-size: 16px; fill: #c9d1d9; font-weight: 600; }
6
+ .subtitle { font-family: -apple-system, system-ui, sans-serif; font-size: 12px; fill: #8b949e; }
7
+ </style>
8
+
9
+ <!-- Background -->
10
+ <rect width="600" height="280" rx="12" fill="#0d1117" stroke="#30363d" stroke-width="1"/>
11
+
12
+ <!-- Title -->
13
+ <text x="300" y="30" text-anchor="middle" class="title">📈 Downloads Over 3 Days</text>
14
+ <text x="300" y="48" text-anchor="middle" class="subtitle">Zero marketing budget. Pure npm keyword discovery + word-of-mouth.</text>
15
+
16
+ <!-- Chart area -->
17
+ <g transform="translate(80, 70)">
18
+ <!-- Grid lines -->
19
+ <line x1="0" y1="0" x2="440" y2="0" stroke="#21262d" stroke-width="1"/>
20
+ <line x1="0" y1="40" x2="440" y2="40" stroke="#21262d" stroke-width="1" stroke-dasharray="4"/>
21
+ <line x1="0" y1="80" x2="440" y2="80" stroke="#21262d" stroke-width="1" stroke-dasharray="4"/>
22
+ <line x1="0" y1="120" x2="440" y2="120" stroke="#21262d" stroke-width="1" stroke-dasharray="4"/>
23
+ <line x1="0" y1="160" x2="440" y2="160" stroke="#21262d" stroke-width="1"/>
24
+
25
+ <!-- Y-axis labels -->
26
+ <text x="-10" y="4" text-anchor="end" class="label">2000</text>
27
+ <text x="-10" y="44" text-anchor="end" class="label">1500</text>
28
+ <text x="-10" y="84" text-anchor="end" class="label">1000</text>
29
+ <text x="-10" y="124" text-anchor="end" class="label">500</text>
30
+ <text x="-10" y="164" text-anchor="end" class="label">0</text>
31
+
32
+ <!-- Area fill -->
33
+ <polygon points="73,116 220,134 367,8 367,160 73,160" fill="#238636" fill-opacity="0.15">
34
+ <animate attributeName="fill-opacity" from="0" to="0.15" dur="1s" fill="freeze"/>
35
+ </polygon>
36
+
37
+ <!-- Line -->
38
+ <polyline points="73,116 220,134 367,8" fill="none" stroke="#3fb950" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
39
+ <animate attributeName="stroke-dashoffset" from="400" to="0" dur="1.5s" fill="freeze"/>
40
+ <set attributeName="stroke-dasharray" to="400"/>
41
+ </polyline>
42
+
43
+ <!-- Data points -->
44
+ <circle cx="73" cy="116" r="6" fill="#0d1117" stroke="#3fb950" stroke-width="3">
45
+ <animate attributeName="r" from="0" to="6" dur="0.3s" begin="0.5s" fill="freeze"/>
46
+ </circle>
47
+ <circle cx="220" cy="134" r="6" fill="#0d1117" stroke="#f0883e" stroke-width="3">
48
+ <animate attributeName="r" from="0" to="6" dur="0.3s" begin="1s" fill="freeze"/>
49
+ </circle>
50
+ <circle cx="367" cy="8" r="6" fill="#0d1117" stroke="#3fb950" stroke-width="3">
51
+ <animate attributeName="r" from="0" to="6" dur="0.3s" begin="1.5s" fill="freeze"/>
52
+ </circle>
53
+
54
+ <!-- Value labels -->
55
+ <text x="73" y="106" text-anchor="middle" class="value" fill="#c9d1d9">552</text>
56
+ <text x="220" y="152" text-anchor="middle" class="value" fill="#f0883e">320</text>
57
+ <text x="367" y="-4" text-anchor="middle" class="value" fill="#3fb950">1,903</text>
58
+
59
+ <!-- X-axis labels -->
60
+ <text x="73" y="180" text-anchor="middle" class="label">Day 1</text>
61
+ <text x="73" y="194" text-anchor="middle" class="subtitle">May 15</text>
62
+ <text x="220" y="180" text-anchor="middle" class="label">Day 2</text>
63
+ <text x="220" y="194" text-anchor="middle" class="subtitle">May 16</text>
64
+ <text x="367" y="180" text-anchor="middle" class="label">Day 3</text>
65
+ <text x="367" y="194" text-anchor="middle" class="subtitle">May 17</text>
66
+
67
+ <!-- Annotations -->
68
+ <text x="147" y="105" text-anchor="middle" class="subtitle" fill="#f0883e">-42%</text>
69
+ <text x="293" y="60" text-anchor="middle" class="subtitle" fill="#3fb950">+495%</text>
70
+ </g>
71
+
72
+ <!-- Bottom stats -->
73
+ <text x="150" y="270" text-anchor="middle" class="value" fill="#3fb950">2,775 total</text>
74
+ <text x="300" y="270" text-anchor="middle" class="value" fill="#79c0ff">245% growth</text>
75
+ <text x="450" y="270" text-anchor="middle" class="value" fill="#d2a8ff">$0 budget</text>
76
+ </svg>
package/demo/demo.svg ADDED
@@ -0,0 +1,75 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="800" height="620" viewBox="0 0 800 620">
2
+ <defs>
3
+ <linearGradient id="bar" x1="0" y1="0" x2="1" y2="0">
4
+ <stop offset="0%" stop-color="#1a1a2e"/>
5
+ <stop offset="100%" stop-color="#16213e"/>
6
+ </linearGradient>
7
+ </defs>
8
+
9
+ <!-- Terminal window -->
10
+ <rect width="800" height="620" rx="12" fill="#0d1117" stroke="#30363d" stroke-width="1"/>
11
+
12
+ <!-- Title bar -->
13
+ <rect width="800" height="36" rx="12" fill="url(#bar)"/>
14
+ <rect y="24" width="800" height="12" fill="url(#bar)"/>
15
+
16
+ <!-- Traffic lights -->
17
+ <circle cx="20" cy="18" r="6" fill="#ff5f57"/>
18
+ <circle cx="40" cy="18" r="6" fill="#febc2e"/>
19
+ <circle cx="60" cy="18" r="6" fill="#28c840"/>
20
+
21
+ <!-- Title text -->
22
+ <text x="400" y="22" text-anchor="middle" fill="#8b949e" font-family="monospace" font-size="12">a3m-router — demo</text>
23
+
24
+ <!-- Terminal content -->
25
+ <g font-family="'SF Mono', 'Fira Code', 'Cascadia Code', monospace" font-size="13" fill="#c9d1d9">
26
+
27
+ <!-- Install -->
28
+ <text x="16" y="58" fill="#8b949e">$</text>
29
+ <text x="32" y="58" fill="#79c0ff">npm install adaptive-memory-multi-model-router</text>
30
+ <text x="16" y="76" fill="#3fb950">added 1 package in 3s</text>
31
+
32
+ <!-- Route simple -->
33
+ <text x="16" y="104" fill="#8b949e">$</text>
34
+ <text x="32" y="104" fill="#79c0ff">npx a3m-router route "What is 2+2?"</text>
35
+ <text x="16" y="126" fill="#d2a8ff">🔀 Route Result</text>
36
+ <text x="16" y="144" fill="#8b949e"> Primary: </text><text x="100" y="144" fill="#3fb950">commandcode/taste-1</text>
37
+ <text x="16" y="162" fill="#8b949e"> Cost: </text><text x="100" y="162" fill="#3fb950">$0.00 (free tier)</text>
38
+ <text x="16" y="180" fill="#8b949e"> Score: </text><text x="100" y="180" fill="#79c0ff">8/100 (TRIVIAL)</text>
39
+
40
+ <!-- Route complex -->
41
+ <text x="16" y="210" fill="#8b949e">$</text>
42
+ <text x="32" y="210" fill="#79c0ff">npx a3m-router route "Analyze economic implications of AI..."</text>
43
+ <text x="16" y="232" fill="#d2a8ff">🔀 Route Result</text>
44
+ <text x="16" y="250" fill="#8b949e"> Primary: </text><text x="100" y="250" fill="#ffa657">ollama/llama3</text>
45
+ <text x="16" y="268" fill="#8b949e"> Cost: </text><text x="100" y="268" fill="#3fb950">$0.00 (local)</text>
46
+ <text x="16" y="286" fill="#8b949e"> Score: </text><text x="100" y="286" fill="#ffa657">78/100 (COMPLEX)</text>
47
+
48
+ <!-- Batch -->
49
+ <text x="16" y="316" fill="#8b949e">$</text>
50
+ <text x="32" y="316" fill="#79c0ff">npx a3m-router batch "2+2?" "sort function" "quantum"</text>
51
+ <text x="16" y="338" fill="#d2a8ff">🔀 Batch Results</text>
52
+ <text x="16" y="356" fill="#8b949e"> 1. "What is 2+2?..." →</text><text x="340" y="356" fill="#3fb950">commandcode (FREE)</text>
53
+ <text x="16" y="374" fill="#8b949e"> 2. "sort function..." →</text><text x="340" y="374" fill="#3fb950">commandcode (FREE)</text>
54
+ <text x="16" y="392" fill="#8b949e"> 3. "quantum..." →</text><text x="340" y="392" fill="#ffa657">ollama/llama3 (LOCAL)</text>
55
+ <text x="16" y="412" fill="#8b949e"> Total: $0.00 | GPT-4o: $0.08 | Savings:</text><text x="430" y="412" fill="#3fb950">100%</text>
56
+
57
+ <!-- Serve -->
58
+ <text x="16" y="442" fill="#8b949e">$</text>
59
+ <text x="32" y="442" fill="#79c0ff">npx a3m-router serve</text>
60
+ <text x="16" y="462" fill="#3fb950">🔀 Proxy running on http://localhost:8787/v1</text>
61
+ <text x="16" y="480" fill="#8b949e"> OpenAI-compatible. Point any SDK here.</text>
62
+ <text x="16" y="498" fill="#8b949e"> 39 providers. Dashboard at http://localhost:8787/</text>
63
+
64
+ <!-- Summary -->
65
+ <text x="16" y="534" fill="#8b949e">$</text>
66
+ <text x="32" y="534" fill="#8b949e"># 2,775 downloads in 3 days. 245% growth. Zero budget.</text>
67
+ <text x="16" y="554" fill="#8b949e"># github.com/Das-rebel/adaptive-memory-multi-model-router</text>
68
+
69
+ <!-- Blinking cursor -->
70
+ <rect x="16" y="572" width="8" height="16" fill="#c9d1d9">
71
+ <animate attributeName="opacity" values="1;0;1" dur="1.2s" repeatCount="indefinite"/>
72
+ </rect>
73
+
74
+ </g>
75
+ </svg>