Know which customers are quietly unprofitable
before the bill arrives.
See which customers cost you more than they pay. Weckr tracks your real LLM cost per user, per feature, and per call, as it happens.
Metadata only. Never your prompts. Fails open. Open source.
All nine pages live in the demo. No signup required.
Works with the providers you already use
Your data never touches us. Your app never depends on us.
Weckr sits beside your code, never in front of it. Metadata in, nothing sensitive out.
Prompts never leave your server
Weckr logs tokens, cost, latency, and the userId you pass in. Prompt and response text are never sent.
Out of the request path
Your LLM calls go straight to the provider. Weckr logs asynchronously, with zero added latency.
Fails open, always
If Weckr is unreachable, your app keeps working. Logging fails silently and calls are never blocked.
Open source, verify everything
The full SDK is MIT licensed on GitHub. Read every line, and remove it by unwrapping one client.
Read the SDK source at github.com/Ghiles3232/weckr-sdks or see exactly what gets sent in the docs.
Your most active users are often your least profitable ones.
A user on your $9 starter plan who hits your AI features 50 times a day can cost you $40 a month to serve. They look like an engaged power user. They are actually your most expensive liability. You will not know until Stripe settles and the OpenAI bill arrives on the same day.
Zero added latency
Logs fire after your LLM call returns. Failures don't bubble to your code.
Per-user margin
See exactly which users cost more than they pay. Plan revenue minus AI cost.
Provider-agnostic
OpenAI, Anthropic, Gemini. One SDK, one dashboard, one set of units.
What makes Weckr different
Most observability tools sit between you and your LLM provider. We sit beside your code.
Watch costs as they happen
See dollars-per-user and dollars-per-feature update in real time. Catch a runaway customer before your AI bill arrives. No end-of-month surprises.
- Live spend by user, model, and feature
- Instant cost-per-request from token counts
- Sortable user table with the worst-margin user always on top
One line, zero infra
Wrap your existing OpenAI, Anthropic, or Gemini client and you're done. The log POST is fire-and-forget after your call returns. No queue, no broker, no SLA on your critical path.
- Framework-agnostic SDK
- Edge-compatible (Vercel, Cloudflare Workers)
- Cost & margin recalculated server-side, so clients can't lie
Catch the runaways before they cost you money.
Three background jobs fire automatically the moment a user crosses a threshold, whether that's token velocity, monthly margin, or a Monday-morning summary. All dispatched through your own Slack workspace and email.
Agent loop detection
Sums tokens per user over a rolling window. If a single user crosses your threshold (the default is 50,000 tokens in 5 minutes), we Slack you immediately. Catches runaway CrewAI / LangChain loops before the bill lands.
Margin alerts
Set a negative-margin threshold per project. When a user's monthly margin drops below it (say -$5, meaning “they are losing me more than five dollars”), we ping Slack and email. Cooldown prevents spam.
Weekly digest
Optional Monday 09:00 UTC summary email: last-week cost, revenue, margin, top-3 users, top-3 features, and week-over-week delta. Enable in Settings, paste an address, done.
Cap costs before they hit you
Set a monthly spend cap per plan. The SDK checks it before every LLM call. When a user hits their cap, you choose what happens. Silently downgrade to a cheaper model, or throw WeckrCapError so you can show your own upgrade prompt.
- Per-user, per-plan monthly caps
- Block the call, or swap to a cheaper model in the same provider
- 60-second per-user cache, so at most one extra request per minute
- Fails open: if our service is down, your LLM call still goes through
import { isWeckrCapError } from '@weckr/sdk';
try {
await wk.chat(openai, opts);
} catch (err) {
if (isWeckrCapError(err)) return upgradePrompt();
throw err;
}Get started in 60 seconds
Wrap your client. Or let Claude do it.
Two lines in TypeScript or Python. Or paste one prompt and let Claude wire Weckr into your codebase end-to-end.
$ npm install @weckr/sdkconst result = await openai.chat.completions.create(opts);import { Weckr } from '@weckr/sdk';
const wk = new Weckr({ apiKey: 'wk_…', plans: { pro: 29 } });
const result = await wk.chat(openai, { ...opts, userId, feature, plan });Two added lines in app.ts. Logs fire after your LLM call returns, with zero added latency.
Simple, transparent pricing
Start with a 7-day free trial. Cancel anytime from inside the dashboard.
Hobby
Up to 50k requests/month
For founders shipping their first AI feature.
- 7-day log retention
- Basic cost analytics
Pro
Most popularUp to 1M requests/month
For scaling applications that need deep insights.
- Everything in Hobby
- Unlimited log retention
- Per-user margin tracking
- Custom alerts & webhooks
No credit card required. No usage based surprises. Cancel anytime.
The founder
Ghiles Asmani
Founder · Stockholm, Sweden
AI engineer in Stockholm, working as a consultant on production LLM systems. Across multiple projects I kept running into the same problem: a handful of users were quietly costing more in OpenAI calls than they paid in subscription, and nobody noticed until the invoice arrived. I looked for an off-the-shelf tool that catches it in real time. There wasn't one, so I built Weckr.