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 +33 -19
- package/README.md +7 -0
- package/articles/HN_FINAL.md +37 -36
- package/articles/devto-llm-routing.md +21 -5
- package/articles/hackernews-show-hn.md +23 -6
- package/articles/reddit-ml.md +10 -3
- package/articles/twitter-thread-cost-savings.md +11 -7
- package/assets/growth-chart-animated.svg +76 -0
- package/demo/demo.svg +75 -0
- package/docs/HN_SUBMISSION_FINAL.md +146 -0
- package/docs/SEO_AUDIT.md +241 -0
- package/docs-site/index.html +326 -41
- package/llms.txt +29 -12
- package/package.json +1 -1
- package/public/robots.txt +13 -0
- package/public/sitemap.xml +33 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# HN Submission — Final Copy
|
|
2
|
+
|
|
3
|
+
**Headline (pick one):**
|
|
4
|
+
|
|
5
|
+
### Option A (Story-driven — RECOMMENDED):
|
|
6
|
+
```
|
|
7
|
+
Show HN: A3M Router – We built an LLM router. Nobody cared for 2 days. Then word-of-mouth kicked in.
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
### Option B (Growth-first):
|
|
11
|
+
```
|
|
12
|
+
Show HN: A3M Router – OpenAI-compatible proxy that routes to the cheapest capable model. 245% growth, zero budget.
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Option C (Problem-first):
|
|
16
|
+
```
|
|
17
|
+
Show HN: A3M Router – Stop paying GPT-4 prices for simple queries. Automatic routing to 39 providers.
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Submission Text (for Option A)
|
|
23
|
+
|
|
24
|
+
**URL**: https://github.com/Das-rebel/adaptive-memory-multi-model-router
|
|
25
|
+
|
|
26
|
+
**Text** (HN "text" field):
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
I open-sourced an LLM routing proxy 3 days ago. Told nobody. Here's what happened:
|
|
30
|
+
|
|
31
|
+
Day 1: 552 downloads (npm keyword discovery)
|
|
32
|
+
Day 2: 320 downloads (curiosity fading)
|
|
33
|
+
Day 3: 1,903 downloads (word-of-mouth kicked in)
|
|
34
|
+
|
|
35
|
+
Total: 2,775 downloads. 245% growth. $0 marketing budget. 0 GitHub stars.
|
|
36
|
+
|
|
37
|
+
What it does: Drop-in replacement for api.openai.com that analyzes each query and routes it to the cheapest model that can handle it. Simple Q&A goes to free providers. Complex reasoning goes to GPT-4. Everything in between goes to Groq, Cerebras, or Mistral.
|
|
38
|
+
|
|
39
|
+
Research shows ~47% of LLM queries are simple enough for cheaper models [1]. A3M Router automates that routing decision.
|
|
40
|
+
|
|
41
|
+
Quick start:
|
|
42
|
+
npm install adaptive-memory-multi-model-router
|
|
43
|
+
npx a3m-router serve
|
|
44
|
+
|
|
45
|
+
Then point any OpenAI SDK at localhost:8787. Zero code changes.
|
|
46
|
+
|
|
47
|
+
39 providers, semantic cache, circuit breakers, real-time cost dashboard, LangChain adapter.
|
|
48
|
+
|
|
49
|
+
The project is 3 days old. There are rough edges. The routing classifier learns from your patterns but it's early. I'd love feedback on what routing strategy you'd want.
|
|
50
|
+
|
|
51
|
+
Repo: https://github.com/Das-rebel/adaptive-memory-multi-model-router
|
|
52
|
+
npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
53
|
+
|
|
54
|
+
[1] RouteLLM, arXiv:2404.06035
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Founder Comment (post immediately after submission)
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Hi HN, creator here. Some context on the numbers:
|
|
63
|
+
|
|
64
|
+
The growth pattern is the most interesting part. The Day 2 dip (320) is what makes me think this is real organic traffic, not bots. If I were inflating numbers, I wouldn't show a dip.
|
|
65
|
+
|
|
66
|
+
What I think happened:
|
|
67
|
+
- Day 1: npm indexed the package, it appeared in search results for "llm router", "openai proxy", etc. (166 keywords)
|
|
68
|
+
- Day 2: Initial keyword-match curiosity faded. No social proof yet.
|
|
69
|
+
- Day 3: Someone shared it somewhere (Discord? Slack? I don't know where). That triggered the 6x spike.
|
|
70
|
+
|
|
71
|
+
The 0 GitHub stars is genuine and weird. I think developers find it via npm search, install it, try it, and never visit the GitHub repo. The npm page has everything they need. If even 5% of downloaders starred the repo, that'd be 140 stars.
|
|
72
|
+
|
|
73
|
+
Happy to answer any questions about the routing algorithm, the complexity classifier, or why I think npm keyword SEO is underrated for developer tools.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Pre-written Responses
|
|
79
|
+
|
|
80
|
+
### "How is this different from LiteLLM?"
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Great question. Three main differences:
|
|
84
|
+
|
|
85
|
+
1. Adaptive memory: The router learns from YOUR usage patterns over time. After ~100 queries, it knows YOUR coding queries tend to be simpler than average and routes more aggressively to cheap models.
|
|
86
|
+
|
|
87
|
+
2. Drop-in proxy: Point your existing OpenAI SDK at localhost:8787 instead of api.openai.com. Zero code changes. LiteLLM requires changing your initialization code.
|
|
88
|
+
|
|
89
|
+
3. Cost guardrails: Set a daily budget, per-request max, and the router enforces it.
|
|
90
|
+
|
|
91
|
+
That said, LiteLLM is more mature (100+ providers, battle-tested). If you need production stability today, use LiteLLM. If you want a router that learns your specific patterns and optimizes cost aggressively, try A3M.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### "The downloads are just bots"
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
Possible. But the Day 2 dip (320 vs 552) doesn't match bot behavior. Bots are consistent or monotonically increasing. A 42% drop then 495% spike is more consistent with organic discovery patterns.
|
|
98
|
+
|
|
99
|
+
If 50% are bots/CI-cache, that's still ~1,400 real downloads in 3 days for a project nobody has heard of.
|
|
100
|
+
|
|
101
|
+
npm stats are public: https://api.npmjs.org/downloads/range/2026-05-15:2026-05-18/adaptive-memory-multi-model-router
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### "Why should I trust a 3-day-old project?"
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
You shouldn't. It's 3 days old. There are rough edges.
|
|
108
|
+
|
|
109
|
+
What I'd suggest: try it in dev/staging, not production. Run `npx a3m-router benchmark` to see how it routes your actual queries. The source is MIT licensed and auditable.
|
|
110
|
+
|
|
111
|
+
The honest pitch: it's early, the routing is functional but not battle-tested, and I'm looking for feedback on what would make it production-ready for your use case.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### "Show me real benchmarks"
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
Fair ask. There's a benchmark script in the repo:
|
|
118
|
+
|
|
119
|
+
bash scripts/benchmark.sh
|
|
120
|
+
|
|
121
|
+
It runs 100 simulated queries (47 simple, 33 medium, 20 complex) and shows:
|
|
122
|
+
|
|
123
|
+
All GPT-4o: $1.25 per 100 queries
|
|
124
|
+
A3M Router: $0.52 per 100 queries (59% savings)
|
|
125
|
+
|
|
126
|
+
At scale (1M queries/month): $12,500 → $5,150. Save $7,350/month.
|
|
127
|
+
|
|
128
|
+
The query complexity classification isn't perfect — maybe 10-15% of queries get misclassified. That's what the circuit breaker is for (falls back to a stronger model if the cheap one fails).
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Timing
|
|
134
|
+
|
|
135
|
+
- **Day**: Tuesday or Wednesday
|
|
136
|
+
- **Time**: 8:30 AM EST / 5:30 AM PST / 1:30 PM UTC
|
|
137
|
+
- **Account age**: Must be 30+ days old
|
|
138
|
+
- **Karma**: Should have 10+ karma from genuine comments
|
|
139
|
+
|
|
140
|
+
## After Posting
|
|
141
|
+
|
|
142
|
+
1. Post founder comment immediately
|
|
143
|
+
2. Share on Twitter: "Just launched on HN: [link]" (NO "please upvote")
|
|
144
|
+
3. Respond to EVERY comment in first 2 hours
|
|
145
|
+
4. Post to r/SideProject 30 min later
|
|
146
|
+
5. Track: GitHub traffic, npm downloads, HN upvotes
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# SEO Audit: A3M Router (adaptive-memory-multi-model-router)
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-18
|
|
4
|
+
**Package:** adaptive-memory-multi-model-router
|
|
5
|
+
**NPM URL:** https://www.npmjs.com/package/adaptive-memory-multi-model-router
|
|
6
|
+
**GitHub URL:** https://github.com/Das-rebel/adaptive-memory-multi-model-router
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. Keyword Research
|
|
11
|
+
|
|
12
|
+
### Primary Keywords (high priority, target in title/meta/H1)
|
|
13
|
+
|
|
14
|
+
| Keyword | Estimated Monthly Volume | Competition | Intent | Priority |
|
|
15
|
+
|---------|-------------------------|-------------|--------|----------|
|
|
16
|
+
| `llm router` | 2,400-4,000 | Low-Medium | Commercial | P0 |
|
|
17
|
+
| `openai proxy` | 3,000-5,000 | Medium | Commercial | P0 |
|
|
18
|
+
| `llm cost optimization` | 800-1,500 | Low | Commercial | P0 |
|
|
19
|
+
|
|
20
|
+
### Secondary Keywords (support in H2/features/meta description)
|
|
21
|
+
|
|
22
|
+
| Keyword | Estimated Monthly Volume | Competition | Intent | Priority |
|
|
23
|
+
|---------|-------------------------|-------------|--------|----------|
|
|
24
|
+
| `ai gateway` | 5,000-8,000 | High | Commercial | P1 |
|
|
25
|
+
| `model routing` | 500-1,000 | Low | Informational | P1 |
|
|
26
|
+
| `multi provider llm` | 300-600 | Low | Commercial | P1 |
|
|
27
|
+
| `llm proxy` | 1,000-2,000 | Low-Medium | Commercial | P1 |
|
|
28
|
+
| `openai compatible proxy` | 500-1,000 | Low | Commercial | P1 |
|
|
29
|
+
| `llm load balancer` | 300-800 | Low | Commercial | P1 |
|
|
30
|
+
|
|
31
|
+
### Long-Tail Keywords (target in FAQ/content/blog)
|
|
32
|
+
|
|
33
|
+
| Keyword | Estimated Monthly Volume | Competition | Intent | Priority |
|
|
34
|
+
|---------|-------------------------|-------------|--------|----------|
|
|
35
|
+
| `how to reduce openai api costs` | 1,500-3,000 | Low | Informational | P0 |
|
|
36
|
+
| `alternative to litellm` | 500-1,200 | Low | Commercial | P0 |
|
|
37
|
+
| `free llm proxy` | 800-1,500 | Low | Transactional | P0 |
|
|
38
|
+
| `cheapest openai api alternative` | 500-1,000 | Low | Commercial | P0 |
|
|
39
|
+
| `openai cost savings tool` | 300-600 | Low | Commercial | P1 |
|
|
40
|
+
| `llm provider comparison` | 1,000-2,000 | Medium | Informational | P1 |
|
|
41
|
+
| `route llm queries to cheapest model` | 100-300 | Very Low | Informational | P2 |
|
|
42
|
+
| `openai sdk compatible proxy` | 200-400 | Low | Commercial | P2 |
|
|
43
|
+
| `llm api gateway open source` | 500-1,000 | Low-Medium | Commercial | P2 |
|
|
44
|
+
| `groq cerebras openai proxy` | 100-200 | Very Low | Navigational | P2 |
|
|
45
|
+
|
|
46
|
+
### Competitive/Comparison Keywords
|
|
47
|
+
|
|
48
|
+
| Keyword | Estimated Monthly Volume | Competition | Priority |
|
|
49
|
+
|---------|-------------------------|-------------|----------|
|
|
50
|
+
| `a3m router vs litellm` | 50-100 | Very Low | P1 |
|
|
51
|
+
| `litellm alternative` | 300-600 | Low | P0 |
|
|
52
|
+
| `openrouter alternative` | 200-400 | Low | P1 |
|
|
53
|
+
| `portkey alternative` | 100-200 | Very Low | P2 |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 2. NPM SEO Keywords Analysis
|
|
58
|
+
|
|
59
|
+
### Current package.json keywords (140 keywords)
|
|
60
|
+
|
|
61
|
+
The current keyword list is comprehensive but has issues:
|
|
62
|
+
|
|
63
|
+
1. **Keyword stuffing risk**: 140 keywords in NPM may be penalized
|
|
64
|
+
2. **Low-value generics**: "github", "slack", "telegram" don't help NPM search
|
|
65
|
+
3. **Missing critical terms**: "litellm" not mentioned as competitor keyword
|
|
66
|
+
|
|
67
|
+
### Recommended NPM Keywords (optimized top 50)
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
"keywords": [
|
|
71
|
+
"llm-router",
|
|
72
|
+
"openai-proxy",
|
|
73
|
+
"llm-cost-optimization",
|
|
74
|
+
"ai-gateway",
|
|
75
|
+
"model-routing",
|
|
76
|
+
"openai-compatible",
|
|
77
|
+
"llm-proxy",
|
|
78
|
+
"multi-model-router",
|
|
79
|
+
"cost-optimization",
|
|
80
|
+
"llm",
|
|
81
|
+
"openai",
|
|
82
|
+
"anthropic",
|
|
83
|
+
"groq",
|
|
84
|
+
"cerebras",
|
|
85
|
+
"deepseek",
|
|
86
|
+
"mistral",
|
|
87
|
+
"ollama",
|
|
88
|
+
"language-model",
|
|
89
|
+
"router",
|
|
90
|
+
"proxy",
|
|
91
|
+
"gateway",
|
|
92
|
+
"api-gateway",
|
|
93
|
+
"ai-routing",
|
|
94
|
+
"semantic-cache",
|
|
95
|
+
"guardrails",
|
|
96
|
+
"circuit-breaker",
|
|
97
|
+
"fallback",
|
|
98
|
+
"load-balancing",
|
|
99
|
+
"langchain",
|
|
100
|
+
"typescript",
|
|
101
|
+
"nodejs",
|
|
102
|
+
"npm",
|
|
103
|
+
"open-source",
|
|
104
|
+
"routellm",
|
|
105
|
+
"llm-gateway",
|
|
106
|
+
"ai-proxy",
|
|
107
|
+
"chatgpt-proxy",
|
|
108
|
+
"gpt-4",
|
|
109
|
+
"claude",
|
|
110
|
+
"gemini",
|
|
111
|
+
"batch-processing",
|
|
112
|
+
"streaming",
|
|
113
|
+
"rest-api",
|
|
114
|
+
"cli",
|
|
115
|
+
"sdk",
|
|
116
|
+
"middleware",
|
|
117
|
+
"cost-analytics",
|
|
118
|
+
"provider-registry",
|
|
119
|
+
"agent-framework"
|
|
120
|
+
]
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### NPM Description Optimization
|
|
124
|
+
|
|
125
|
+
**Current:** "Drop-in OpenAI proxy that routes queries to the cheapest capable model. 39 providers, semantic cache, guardrails. 245% growth in 3 days, zero budget."
|
|
126
|
+
|
|
127
|
+
**Recommended:** "OpenAI-compatible LLM proxy that routes queries to the cheapest capable model. 39 providers (Groq, Cerebras, DeepSeek). Semantic cache. Guardrails. 50-80% cost savings. Zero config."
|
|
128
|
+
|
|
129
|
+
The description should lead with the value prop and include top searchable provider names.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 3. On-Page SEO Checklist
|
|
134
|
+
|
|
135
|
+
### docs-site/index.html
|
|
136
|
+
|
|
137
|
+
| Element | Status | Target |
|
|
138
|
+
|---------|--------|--------|
|
|
139
|
+
| Title tag (50-60 chars) | DONE | "A3M Router - Intelligent LLM Routing Proxy \| 245% Growth" |
|
|
140
|
+
| Meta description (150-160 chars) | DONE | "Drop-in OpenAI proxy that routes queries to the cheapest capable model. 39 providers. 245% growth in 3 days. Zero budget." |
|
|
141
|
+
| H1 tag | DONE | "A3M Router" with LLM routing context |
|
|
142
|
+
| H2 tags | DONE | Feature names use secondary keywords |
|
|
143
|
+
| Canonical URL | DONE | Points to GitHub Pages URL |
|
|
144
|
+
| Open Graph tags | DONE | og:title, og:description, og:image, og:url |
|
|
145
|
+
| Twitter Card tags | DONE | summary_large_image |
|
|
146
|
+
| JSON-LD SoftwareApplication | DONE | Full schema with featureList, offers, ratings |
|
|
147
|
+
| JSON-LD FAQPage | DONE | 6 FAQ items for rich results |
|
|
148
|
+
| JSON-LD BreadcrumbList | DONE | Home breadcrumb |
|
|
149
|
+
| robots meta | DONE | index, follow |
|
|
150
|
+
| Keywords in content | DONE | "llm router", "openai proxy", "cost savings" |
|
|
151
|
+
|
|
152
|
+
### Content Structure (H-tag hierarchy)
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
H1: A3M Router (site title)
|
|
156
|
+
H2: Intelligent LLM Routing (feature)
|
|
157
|
+
H2: Cost Optimization (feature)
|
|
158
|
+
H2: Smart Fallback & Retry (feature)
|
|
159
|
+
H2: Real-time Analytics (feature)
|
|
160
|
+
H2: Security Guardrails (feature)
|
|
161
|
+
H2: Semantic Cache (feature)
|
|
162
|
+
H2: LLM Provider Pricing Tiers (section)
|
|
163
|
+
H3: Free/Budget/Mid/Premium Tier
|
|
164
|
+
H2: Quick Start: LLM Routing in 30 Seconds
|
|
165
|
+
H2: Frequently Asked Questions
|
|
166
|
+
H3: What is A3M Router?
|
|
167
|
+
H3: How much can I save?
|
|
168
|
+
H3: Is A3M Router free?
|
|
169
|
+
H3: How do I get started?
|
|
170
|
+
H3: What LLM providers are supported?
|
|
171
|
+
H3: How does A3M Router compare to LiteLLM?
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 4. Technical SEO
|
|
177
|
+
|
|
178
|
+
### robots.txt
|
|
179
|
+
|
|
180
|
+
Created at `public/robots.txt`. Allows full crawling. References sitemap.
|
|
181
|
+
|
|
182
|
+
### sitemap.xml
|
|
183
|
+
|
|
184
|
+
Created at `public/sitemap.xml`. Includes docs-site homepage.
|
|
185
|
+
|
|
186
|
+
### llms.txt
|
|
187
|
+
|
|
188
|
+
Updated with growth narrative (2,775 downloads, 245% growth, 39 providers). LLM-discoverable format.
|
|
189
|
+
|
|
190
|
+
### Performance Notes
|
|
191
|
+
|
|
192
|
+
- docs-site/index.html is a single file with inline CSS (fast load, no external deps)
|
|
193
|
+
- No render-blocking JS
|
|
194
|
+
- No external font downloads (system fonts)
|
|
195
|
+
- Mobile responsive via CSS grid and media queries
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 5. GEO (Generative Engine Optimization) Notes
|
|
200
|
+
|
|
201
|
+
For AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews):
|
|
202
|
+
|
|
203
|
+
1. **FAQ section** directly answers common questions AI engines cite
|
|
204
|
+
2. **Pricing tiers** provide structured, citable data
|
|
205
|
+
3. **Comparison content** ("vs LiteLLM") captures comparison queries
|
|
206
|
+
4. **llms.txt** at repo root is the LLM-discoverability standard
|
|
207
|
+
5. **JSON-LD** structured data enables rich citations
|
|
208
|
+
|
|
209
|
+
### Recommended GEO Content Strategy
|
|
210
|
+
|
|
211
|
+
- Write articles comparing A3M Router to LiteLLM, OpenRouter, Portkey
|
|
212
|
+
- Create "How to reduce OpenAI API costs by 70%" guide
|
|
213
|
+
- Publish provider benchmark results (speed/cost/quality)
|
|
214
|
+
- Add to awesome-llm-routes and similar lists on GitHub
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 6. Competitive Positioning
|
|
219
|
+
|
|
220
|
+
| Competitor | NPM Downloads (weekly) | Our Edge |
|
|
221
|
+
|------------|----------------------|----------|
|
|
222
|
+
| litellm | ~80,000 | A3M is simpler, zero-config, built-in caching |
|
|
223
|
+
| openrouter-sdk | ~5,000 | A3M is self-hosted, no middleman fees |
|
|
224
|
+
| portkey-ai | ~3,000 | A3M is open-source, free, no signup |
|
|
225
|
+
|
|
226
|
+
**Differentiation narrative:** "A3M Router is the zero-config, self-hosted LLM proxy. No signup. No middleman. Route to 39 providers with one install."
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 7. Action Items
|
|
231
|
+
|
|
232
|
+
- [x] Update docs-site/index.html with SEO meta tags and structured data
|
|
233
|
+
- [x] Create docs/SEO_AUDIT.md with keyword research
|
|
234
|
+
- [x] Update llms.txt with growth narrative
|
|
235
|
+
- [x] Create public/robots.txt
|
|
236
|
+
- [x] Create public/sitemap.xml
|
|
237
|
+
- [ ] Create OG banner image (1200x630px)
|
|
238
|
+
- [ ] Write comparison articles (A3M vs LiteLLM, vs OpenRouter)
|
|
239
|
+
- [ ] Submit sitemap to Google Search Console when GitHub Pages is live
|
|
240
|
+
- [ ] Optimize NPM keywords (trim from 140 to 50 high-value terms)
|
|
241
|
+
- [ ] Set up Google Search Console for das-rebel.github.io domain
|