1+ # A3M Router VHS Demo - 90 Second Terminal Demo
2+ # This version works without ttyd - outputs to GIF directly
3+ # Target: 60-90 seconds
4+
5+ # =============================================================================
6+ # SETUP - Works with just image output
7+ # =============================================================================
8+
9+ Output a3m-demo.gif
10+ Set FontSize 16
11+ Set Width 1200
12+ Set Height 675
13+ Set TypingSpeed 30 ms
14+
15+ # =============================================================================
16+ # SCENE 1: THE PROBLEM (0-15s)
17+ # =============================================================================
18+
19+ Type "#!/bin/bash"
20+ Enter
21+
22+ Type "# Your LLM app today — costs $0.015 per request, no fallback"
23+ Enter
24+
25+ Type "cat << 'EOF'"
26+ Enter
27+ Type "// Without A3M: you manage everything manually"
28+ Enter
29+ Type "const response = await openai.chat.completions.create({"
30+ Enter
31+ Type " model: \" gpt-4 o\", // Always expensive"
32+ Enter
33+ Type " messages: [{ role: \" user\", content: \" Explain quantum entanglement\" }]"
34+ Enter
35+ Type "});"
36+ Enter
37+ Type "// If OpenAI goes down → your app crashes"
38+ Enter
39+ Type "// You pay $0.015 per request forever"
40+ Enter
41+ Type "EOF"
42+ Enter
43+
44+ Sleep 1 s
45+ Type "echo \" ❌ Problem: $0.015 /req, no fallback, manual management\""
46+ Enter
47+
48+ Sleep 2 s
49+
50+ # =============================================================================
51+ # SCENE 2: WITH A3M - ONE LINE CHANGE (15-35s)
52+ # =============================================================================
53+
54+ Ctrl+L
55+
56+ Type "# With A3M: one line change, infinite benefits"
57+ Enter
58+
59+ Type "cat << 'EOF'"
60+ Enter
61+ Type "// Same request with A3M router"
62+ Enter
63+ Type "const response = await fetch(\" http://localhost:8787 /v1 /chat/completions\", {"
64+ Enter
65+ Type " method: \" POST\","
66+ Enter
67+ Type " headers: { \" Content-Type \": \" application/json\" },"
68+ Enter
69+ Type " body: JSON.stringify({"
70+ Enter
71+ Type " model: \" auto\", // ← A3M picks the best model"
72+ Enter
73+ Type " messages: [{ role: \" user\", content: \" Explain quantum entanglement\" }]"
74+ Enter
75+ Type " })"
76+ Enter
77+ Type "});"
78+ Enter
79+ Type "EOF"
80+ Enter
81+
82+ Sleep 1 s
83+
84+ Type "# A3M analyzes and decides:"
85+ Enter
86+ Type "echo \" 📊 Task: explanation → Complexity: simple → Budget: minimize\""
87+ Enter
88+ Type "echo \" ✅ Routed to: Groq (FREE, 847 ms )\""
89+ Enter
90+ Type "echo \" Cost: $0.00 | Quality: 94 %\""
91+ Enter
92+
93+ Sleep 2 s
94+
95+ # =============================================================================
96+ # SCENE 3: FAILURE RECOVERY (35-55s)
97+ # =============================================================================
98+
99+ Ctrl+L
100+
101+ Type "# A3M gracefully handles provider failures..."
102+ Enter
103+ Sleep 1 s
104+
105+ Type "echo \" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\""
106+ Enter
107+ Type "echo \" [Groq] — Attempting connection...\""
108+ Enter
109+ Sleep 1 s
110+ Type "echo \" [Groq] — ✗ FAILED — 503 Service Unavailable\""
111+ Enter
112+ Sleep 500 ms
113+ Type "echo \" [Circuit Breaker] — Tripped after 3 failures\""
114+ Enter
115+ Sleep 500 ms
116+ Type "echo \" [DeepSeek] — HEALTHY — Switching...\""
117+ Enter
118+ Sleep 1 s
119+ Type "echo \" \""
120+ Enter
121+ Type "echo \" ✅ Response delivered via DeepSeek fallback\""
122+ Enter
123+ Type "echo \" Your app: never knew there was a problem\""
124+ Enter
125+ Type "echo \" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\""
126+ Enter
127+
128+ Sleep 2 s
129+
130+ # =============================================================================
131+ # SCENE 4: COST SAVINGS (55-70s)
132+ # =============================================================================
133+
134+ Ctrl+L
135+
136+ Type "# Same query. Dramatically different costs."
137+ Enter
138+
139+ Type "echo \" \""
140+ Enter
141+ Type "echo \" WITHOUT A3 M WITH A3 M\""
142+ Enter
143+ Type "echo \" ───────────────── ────────────────\""
144+ Enter
145+ Type "echo \" GPT-4 o @ $3.00 /1 K Groq @ $0.00 /1 K\""
146+ Enter
147+ Type "echo \" 500 tokens = $0.0015 500 tokens = $0.00 \""
148+ Enter
149+ Sleep 1 s
150+ Type "echo \" \""
151+ Enter
152+ Type "echo \" 💰 SAVINGS: 100 % per query\""
153+ Enter
154+ Type "echo \" At 1000 queries/day → $1.50 saved daily\""
155+ Enter
156+ Type "echo \" At 1000 queries/day → $547 saved yearly\""
157+ Enter
158+
159+ Sleep 2 s
160+
161+ # =============================================================================
162+ # SCENE 5: ONE COMMAND (70-90s)
163+ # =============================================================================
164+
165+ Ctrl+L
166+
167+ Type "echo \" \""
168+ Enter
169+ Type "echo \" ╔═══════════════════════════════════════════════════╗\""
170+ Enter
171+ Type "echo \" ║ Get started in 10 seconds: ║\""
172+ Enter
173+ Type "echo \" ╚═══════════════════════════════════════════════════╝\""
174+ Enter
175+ Sleep 500 ms
176+ Type "echo \" \""
177+ Enter
178+ Type "echo \" npm install -g adaptive-memory-multi-model-router\""
179+ Enter
180+ Sleep 300 ms
181+ Type "echo \" \""
182+ Enter
183+ Type "echo \" # Auto-detects your API keys, zero config\""
184+ Enter
185+ Type "echo \" npx a3 m-router serve\""
186+ Enter
187+ Sleep 500 ms
188+ Type "echo \" \""
189+ Enter
190+ Type "echo \" # Change: model: 'gpt-4o' → model: 'auto'\""
191+ Enter
192+ Sleep 500 ms
193+ Type "echo \" \""
194+ Enter
195+ Type "echo \" GitHub: github.com/Das-rebel/adaptive-memory-multi-model-router\""
196+ Enter
197+ Type "echo \" npm: npmjs.com/package/adaptive-memory-multi-model-router\""
198+ Enter
199+ Sleep 1 s
200+ Type "echo \" \""
201+ Enter
202+ Type "echo \" ✨ One prompt in. The right model out. ✨\""
203+ Enter
204+
205+ Sleep 2 s
0 commit comments