Notes in the margin

Analytics, with context.

A spike is just a number until you know why. Margin annotates your traffic with releases, mentions and launches, right where they happened.

View the live demo

Margin is in private beta. Be first in line.

Pageviews

Last 28 days

Features

Calm numbers, clear reasons.

Private by design and built for developers, without the dashboard clutter.

Cookieless by default
No banners, no fingerprinting. Margin counts visits without storing anything on the device.
EU-hosted
Your data lives in the EU, end to end, so privacy reviews are short and boring.
Configuration as code
Events, releases and funnels are defined in your repo and checked by your compiler.
MCP & CLI
Query your analytics from the terminal, or hand your agent the keys over MCP.

Context

Every spike, explained.

Margin collects context automatically — releases from your CI, mentions from around the web — and pins it to your timeline, next to the numbers it moved.

  • Releases pulled from GitHub, GitLab or your CI
  • Mentions found on Hacker News, Reddit and newsletters
  • Custom annotations from the CLI or API

inmargin.io/app

Today

Mar 24

Pageviews
9,612
+212%
Visitors
7,431
+189%
Signups
186
+64%

Countries

  • United States

    3,412

  • Germany

    1,876

  • United Kingdom

    1,214

  • Netherlands

    842

  • France

    615

Context

  • Product Hunt launch

    Today

  • Hacker News mention

    3 days ago

Server routes

Runs on your app, not ours.

Mount the Margin API as a route in your own application. There is no third-party endpoint for blockers to catch, and every event can be enriched on your server before it is stored.

  • No ad-blocker dropouts
  • Server-side enrichment with your own data
  • Typed events checked at build time

app/api/margin/route.ts

import { createHandler } from "@inmargin/server/next";
import { auth } from "@/lib/auth";

export const POST = createHandler(async (request) => {
  const session = await auth(request);

  return { userId: session?.user.id };
});

MCP & CLI

Ask your analytics anything.

The CLI and MCP server give you — and your agents — the same typed access to your data as the dashboard. Query, annotate and export without leaving the terminal.

  • Plain-language queries from the terminal
  • MCP server for Claude and other agents
  • Scriptable output for CI and dashboards

margin — zsh

$ margin query "signups since v2.4.0"
1,284 signups · +38% vs v2.3.x

$ margin annotate "Launched on Product Hunt"
Pinned to today's timeline

Give your numbers some margin notes.

Join the waitlist and be first in when the beta opens.