Social feed  ·  shipped AI work  ·  GitHub-linked proof

Follow builders shipping with AI.

Trail is a public feed for AI-coded work: every post can show the session, model, cost, transcript, and GitHub PR behind what shipped.

The feed makes discovery the loop. Receipts keep it honest. Profiles and recruiter views are what your trail becomes after enough public work stacks up.

npm install -g @gettrail/cli
  Start here
01Browse

Open the feed first.

Read public AI-building sessions without an account. See what shipped, who built it, and which model/tool did the work.

02Follow

Sign in with GitHub.

Following, reactions, and your personal timeline unlock after GitHub sign-in. The public feed stays open.

03Install

Record your own trail.

Install the CLI locally, keep working in Claude Code or Codex, then share the sessions that should become proof.

04Discover

Track tools and stacks.

Trail groups public receipts by the AI tools and frameworks people are actually using to ship.

  Breakdown

The number, decomposed.

input tokens
4,628,651
$23.14
output tokens
15,813
$0.47
cached input tokens (90% off)
4,410,112
$2.21
Total · session_native
attributed to janfaris/trail#23
$3.77

Pricing reads from a versioned table — openai gpt-5.5: $5 in / $30 out / $0.50 cached per million tokens. Multiplication, no model.

  What a receipt proves

A receipt is a proof object, not a screenshot.

A session carries things that are hard to fake together: what it cost, which tool and model did it, and the public PR it's tied to. The last piece — a GitHub-confirmed merge attributed to you — is what turns a receipt into a badge.

cost
$3.77
real tokens × versioned prices
tool · model
Codex · gpt-5.5
auto-detected at capture
session
295 turns
captured locally, anonymized
linked PR
#23
public + merged on GitHub
verification
GitHub's call
badge lights only on a confirmed merge
Verified Builder · locked

The badge isn't a status you claim — it's a mechanism. It lights up the moment GitHub confirms a merge attributed to you, and goes dark if the proof doesn't hold. Nobody hands it out. Nobody fakes it.

  How

Three steps. No keys.

01

Install.

One command. No admin keys, no proxy, no rewiring your agents. Trail reads the JSONL files Claude Code and Codex already write to disk.

npm install -g @gettrail/cli
02

Work normally.

Run trail record in the background. Every assistant turn is tagged with input, output, and cached tokens — the same data your vendor uses to bill you.

trail record &
03

Ship.

When you merge a PR, trail attributes the session's cost to that commit and turns it into a public, GitHub-verifiable receipt. No estimation, no fanout — your tokens, your prices.

trail share <session-id>
  Coverage

What Trail actually sees.

Honest about what the vendors expose. Copilot's metrics API has no per-user tokens — we say so instead of inventing a number.

Claude Code
Primary
Per-turn input/output/cache tokens via JSONL session tail.
Codex
Primary
Per-turn input/output/cached tokens. Model auto-detected (gpt-5.5, o1, etc).
Hermes
Primary
Full local capture via session_*.json.
Cursor
Partial
Composer usage via SQLite (when permitted).
Copilot CLI
Partial
Engagement counts. Vendor exposes no per-user token API.

Three layers, kept distinct: a GitHub-verified merge (third-party provable), the cost & tokens Trail captured locally, and a public, anonymized transcript. We never blur "GitHub confirmed it" with "we measured it." Optional · BYOK admin keys (Anthropic, OpenAI) add cross-vendor reconciliation when you outgrow local capture. Encrypted with libsodium, revocable in one click.

Start your first receipt. Ship something, and let GitHub vouch for it.

npm install -g @gettrail/cli