N°08 · Private tool · 2026 · Tailnet only
WhatsMyCost
Each app’s OpenAI, Claude and Twilio spend on one page, so I can see which one is running up the bill.
- Client
- Internal, my own apps
- Role
- Author · product, engineering
- Built with
- Node 22 with no dependencies, hand-built SVG charts, the OpenAI, Claude Platform and Twilio billing APIs
- Status
- Complete · private repo · runs on my own server
- Live at
- Nowhere public, by design. It runs on my own server and opens only to my private network, because it holds admin keys.

What it does
- 01
One project, however it was named
An OpenAI project, a Claude API key and a Twilio subaccount with the same name roll up together. Case, spaces and punctuation don’t matter, and a small file maps the names that don’t line up.
- 02
Claude’s bill, split by key
Claude reports cost per workspace, so each day is shared across API keys by the tokens each one used, matched on model, token type and pricing tier.
- 03
Paste a key, get the right service
The service is read from the key’s shape, and pasting the wrong kind names the key it needs instead. Keys stay in a git-ignored file; the browser only sees their last four characters.
The thing to see

Proof
- 3billing APIs read with admin keys: OpenAI, the Claude Platform and Twiliosrc/providers/
- 0runtime dependencies; Node 22 built-ins onlypackage.json
- 19tests, all passing on Oct 21, 2026npm test
No spend total is published, and nothing is checked against an invoice. Figures are as each provider reports them, and Claude’s per-key split is an allocation.
On screen




Rendered from the real dashboard in a scratch copy fed invented costs. The owner’s real spend and keys were never opened.