Kamol Nazarov The back office lab Brooklyn, NY

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.
A laptop on a kitchen table at night beside a stack of bills, showing the WhatsMyCost overview: $204.08 spent this month.
Synthetic data

What it does

  1. 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.

  2. 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.

  3. 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

The Projects page: VehicleDesk spends through all three providers, and “Who uses what” shows which app uses which service. Synthetic data.
The Projects page: VehicleDesk spends through all three providers, and “Who uses what” shows which app uses which service. Synthetic data.

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.