Error tracking for small teams and their coding agents

Know within a minute when something breaks. Open it on the line that threw, or hand it to your agent.

Start freeSee the live demo

Free up to 50,000 errors a month. No card.

Ten founding teams get it set up by the founder on a call and the $99 plan free for a year. The offer

Impact, last 14 days

36 events14 users36 sessions

What this session sent in the 30 minutes before, newest firstOpen in Explore
  1. 12s beforereport_viewed/app/reports/revenue
  2. 1m 35s beforesearch_performed/app/reports
  3. 3m 10s beforedashboard_viewed/app/dashboards
  4. 4m 20s beforelog_in/login

Where it happens

Releaseweb@2.36.0100%
Environmentproduction100%
BrowserChrome 154.0.0.075% +2
OSMac OS X 10.15.761% +1
Page/app/reports/revenue100%
UserRobin Garcia14% +9
Tagarea=reports100%
TypeErrorunhandled

Cannot read properties of undefined (reading 'currencyCode')

1 / 36
When
User
user_2716
Client
Chrome 154.0.0.0
Environment
production
Release
web@2.36.0
Crash first · grouped by stack
  1. const formatters = new Map<string, Intl.NumberFormat>();
    /** Money in a report is shown in the currency the workspace bills in. */
    export function formatMoney(cents: number, workspace: Workspace): string {
    // Set during onboarding, so every workspace has one.
    const currency = workspace.billing.currencyCode;
    const key = `${workspace.locale}:${currency}`;
    let formatter = formatters.get(key);
    if (!formatter) {
    formatter = new Intl.NumberFormat(workspace.locale, { style: 'currency', currency });
  2. RevenueSummarysrc/reports/RevenueSummary.tsx:19:13

Keep the Sentry SDK you already have

Vinktar reads what the Sentry SDKs send. Change the DSN, deploy, and your errors land here.

Tested with the Sentry SDKs for JavaScript, Node.js, Next.js, Python, Laravel and Symfony. A Bugsnag SDK moves the same way, with one endpoint setting. How to switch from Sentry.

Starting fresh? Install the Vinktar SDK for the browser, Node.js or PHP, or ask your coding agent to do it.

# .env
SENTRY_DSN=https://<your-key>@in.vinktar.com/<project-id>

See what happened before the crash

Every error keeps the half hour before it: the clicks, the requests, the events you track. Stop asking users what they were doing.

What the SDK recorded before the error, oldest first
  1. 17:47:45ui.click a.nav-reports[href="/app/reports/revenue"]
  2. 17:47:46navigation /app/reports → /app/reports/revenue
  3. 17:47:47xhr GET /api/workspaces/currentstatus=200 duration_ms=50
  4. 17:47:48xhr GET /api/reports/revenue?period=2026-09status=200 duration_ms=151
  5. 17:47:59Error captured

Alerts worth leaving on

A new error, a regression or a spike reaches you in Slack or by email within a minute. Noise from browser extensions and crawlers is dropped before it is stored, and never counts against your plan.

Mute anything else per project or per environment.

Built-in filters

Noise every browser produces, dropped before it is stored or counted.

Known browser messages

Script errors with no detail and ResizeObserver loops; the SDK skips these too. 64 filtered this week, free.

Always on

Browser extensions

Errors whose every stack frame is inside a browser extension. 38 filtered this week, free.

Browser noise

Ad blockers, wallet extensions, in-app webviews and tag managers nobody can fix. 141 filtered this week, free.

Crawlers

Errors seen by Googlebot, Bingbot, Lighthouse, headless Chrome and the like. 17 filtered this week, free.

Product analytics on the same users

Trends, funnels, retention and SQL over the same people your errors come from. One SDK to install and one bill to pay.

Sign-ups

386

−15.4%

New subscriptions

89

+34.8%

Reports viewed

Activation

Signed up130
Started onboarding129−1%
Finished onboarding86−33%
Subscribed4−95%
Overall conversion 3% of users

Your coding agent can read it too

Connect Claude Code, Cursor or Codex over MCP. It pulls the issue, the stack trace and what the user did before into the session where the fix gets written.

Every call is logged for you, and it cannot delete your events or errors. Vinktar runs no model, so there is nothing extra to pay for. Connect your agent.

claude mcp add --transport http vinktar "https://mcp.vinktar.com/mcp?login"
Issue 164 · project web
Title: TypeError: Cannot read properties of undefined (reading 'currencyCode')
Status: unresolved · first seen in web@2.36.0 (production)
In the window: 36 occurrences · 14 users · 36 sessions
By browser: Chrome 154 (27), Edge 154 (6), Chrome 153 (3)
By URL: /app/reports/revenue (36)

Stack trace (crash first):
  at formatMoney (src/reports/format.ts:8:37)
  at RevenueSummary (src/reports/RevenueSummary.tsx:19:13)

What this user did in the 30 minutes before it (newest first):
  report_viewed      /app/reports/revenue
  search_performed   /app/reports
  dashboard_viewed   /app/dashboards
  log_in             /login

The same bill every month

Free covers 50,000 errors and 1,000,000 events a month. Paid plans start at $29. If a bug gets stuck in a retry loop overnight, Vinktar keeps counting and stops charging after 1,000 repeats of the same error in an hour.

PlanA monthErrorsEventsHistory
Free$050,0001,000,00030 days
Starter$2950,0001,000,0001 year
Pro$99500,0005,000,0001 year
Business$4995,000,00025,000,0002 years

Seats and projects are unlimited on every plan, and you never get an overage invoice. Your data is stored in Helsinki, Finland. See pricing.

Questions

Do I have to change my code?

Not if you use a Sentry or Bugsnag SDK: change the DSN or the endpoint and you are done. Starting fresh, add the Vinktar SDK for the browser, Node.js or PHP, or ask your coding agent to set it up.

What happens if I go over my plan?

Nothing is charged. You get an email at 80% and again at 100%. Vinktar keeps accepting data up to twice your plan, then pauses until next month or until you upgrade.

Where is my data stored?

In Helsinki, Finland. Where your data lives has the details.

Can I try it without installing anything?

Yes. The live demo is a real workspace with data in it, and the free plan needs no card.

What does Vinktar not do?

Session replay, tracing and mobile crash reporting. If you need those, Sentry is the better choice. For feature flags and experiments, look at PostHog.

Who is behind Vinktar?

A small team in Europe. Write to john@vinktar.com and someone who built it answers.

Start catching errors today

Or let the founder set it up with you: the first ten teams get the $99 plan free for a year. Ten founding teams