“Every session has a price. Most teams never see the bill.”
< 2s
time to first signal
5+
pages sampled in a live run
$0
to understand the first report
keep going
Product
The cost layer your frontend never had
Metis was designed to feel calm on the page and serious in the report. It catches what a normal profiler rarely explains: what those requests mean for real spend.
Hover-first workflow
Metis stays lightweight on the page, then opens the deeper workspace in the browser side panel when you want context.
Cost and control
The product frames waste in plain language: what costs money now, what scales badly later, and what deserves attention first.
Stack-aware signals
Frameworks, hosts, AI providers, and third-party scripts are detected so the report feels specific, not generic.
Built for real teams
The website explains the product cleanly while the extension stays focused on scanning, scoring, and the side-panel workspace.
The Problem
Your frontend is bleeding money every session
Unoptimised requests, noisy third-party scripts, and AI-heavy interactions compound quietly. Metis exists to make that waste legible before it becomes a postmortem.
24avg
API calls per page load
3.2MB
avg payload per session
$0.004
avg session cost, unoptimised
86%
of teams don't know their frontend cost
5 issues detected
High Risk
Duplicate API Requests, 8× per loadcritical
Memory leak in 3 componentscritical
OpenAI called on every keystrokemoderate
3 images over 2MB with no WebP conversionmoderate
Static assets without Cache-Control headerslow
How it fixes it
Here's exactly what to fix
Not vague advice. The product direction is clear: ranked fixes, grounded explanations, and a report that respects how engineering teams actually work.
#1
Duplicate API RequestsFix First
Save ~$8/mo
Root Cause
Multiple components trigger the same fetch independently on mount with no deduplication.
Fix
Add SWR or React Query with a shared cache key. Concurrent callers share one in-flight request.
#2
AI API Call Frequency
Save ~$11/mo
Root Cause
AI completion handler fires on onChange with no debounce. Each keystroke triggers one API call.
Fix
Debounce by 400ms with useDebouncedCallback. Cache identical prompts with a simple Map for 5 min.
#3
Memory Leak Pattern
Save ~$5/mo
Root Cause
useEffect hooks add event listeners but return no cleanup function.
Fix
Return cleanup from each useEffect: return () => window.removeEventListener(...). Use AbortController for fetch.
The result
Start free Fix in minutes
Create access on the website, manage your account there, then use the extension for the actual scan and report workflow.
Score any running page in under 2 seconds
See exactly what's costing you, per session
Get ranked code fixes with savings estimates
Keep account settings on the website and extension settings in the extension