The AI labs are on course to be the most profitable companies in the world. Every dollar they earn comes off a customer's balance sheet, and in a field this new and this fast-moving, it is easy to be the customer paying for waste.
ottim.ai lives on your Mac and counts every call your AI tools make: what it cost and how long it took. Each morning it hands you a few changes worth money, each one priced and timed from your own calls, each one ready to run with a single click. Nothing changes until you have read it and pressed the button.
Same prompts. Same quality. Smaller bill. Faster answers.
| Tool | Calls | Spend |
|---|---|---|
| Claude CodeClaude Max 20x · Opus mostly | 38,180 | $3,858 |
| CoworkClaude Max 20x · 39 sessions | 2,980 | $330 |
| CodexChatGPT Plus | 3,028 | $39 |
Settings › Sources › CoworkWaiting for youSettings › Your data › What I looked atWaiting for youThe ottim.ai panel, opened from the menu bar. Press the tabs and the buttons. The figures are an example.
This morning
Dashboards show where the money went. ottim.ai says what to change, writes the request for your own AI tool word for word, and runs it in front of you when you press the button. Each card is one move, and every card is built the same way.
Changes one file: CLAUDE.md in billing-service.
Claude Code opens with this request and asks "Allow this edit?" before it touches the file. Compare the text there with the text above: it should match word for word.
Changed your mind later? Put it back is one click.
You never tick a card off. ottim.ai sees the change in your next calls, tells you what happened and when, and measures the saving from the next day. Applied cards leave the screen and become one figure: what you are saving now, measured, not estimated.
How a saving is counted
AI is bought two ways, and a saving means something different in each. On a subscription you pay the same whatever you use, so what you save is room in the week's allowance. On an API key every call is billed, so what you save is money. ottim.ai knows which call was which and never mixes the two.
The same work using less of the allowance. Dollars at API prices are shown beneath for scale, and never called a saving.
Real money, at the provider's list price for that model on the day of the call.
Time to the first word of the answer, estimated from your own past calls and measured again once the change is made.
And the question a plan holder actually asks: would it have kept me under the limit? "Last week you hit the Claude limit once, on Tuesday; with these four applied you would have stayed under."
What it looks for
Every call your tools make carries far more than the message: instruction files, tool descriptions, memory, the conversation so far. Most of it repeats from call to call, and most of the waste is in how it is packed. ottim.ai keeps track of where each part of each request came from, so it can say which file to change.
The provider keeps a copy of the start of each request for a few minutes and charges a tenth to read it. One line that changes every turn, placed above parts that never change, throws the copy away every time.
Tools, skills and instruction files sent with every call and never used. Each call pays to carry them. The card names them; you decide which go.
Each turn of a long session resends everything before it, so the late turns cost most and answer slowest. The menu bar can nudge you when a session passes two hours.
Retries, cut-off replies and rejected drafts are paid in full. So is a cheaper model that needs three attempts where a dearer one needs one.
Price per call is not the price of the work
| Model, same provider | Right first time | Attempts per success | Cost per finished task | Wait per task |
|---|---|---|---|---|
| The larger one | 94% | 1.06 | $0.41 | 18 s |
| The cheaper one | 61% | 2.44 | $0.68 | 42 s |
The cheaper model is on the price list at a third of the larger one. It needs two and a half attempts to land a tool call, pays for every one of them, and finishes the same job for two-thirds more money and more than twice the wait. Until someone counts attempts, nobody can see it. Where a card proposes a different model, it shows these figures from your own calls, and says the choice is yours: quality is for you to judge.
Illustration built from typical usage patterns. Figures from the pilot replace it as they arrive.
Talk to otti
otti is a friendly geek beside you. He sets ottim.ai up, changes a setting when you ask, and explains what any figure means, in plain English, getting more technical only once you have shown you are.
Settings › Sources › Claude CodeCounting · first call 13:31Built for careful people
A careful person is not calmed by being told something is safe. They are calmed when things happen exactly as they were told they would, and they can check it themselves. So every button in ottim.ai does three things.
The whole request is shown word for word, with the one file it changes. The card says what you will see next: "Claude Code will ask 'Allow this edit?' before it touches the file."
Compare the text in your tool with the text on the card. Afterwards you get only what happened, with the time: "Done at 13:46. CLAUDE.md changed, nothing else."
Before you need it. Every switch has an off, every card has Later, and one click puts a change back.
ottim.ai never runs a request in the background and never gives a tool permission to write on its own. Every change happens in a window you can see and stop, with your tool's own approval prompt in front of you.
None of your prompts, none of the replies, none of your settings. The one exception is your conversation with otti, which is answered by an outside AI model.
What it counts
Counting, waiting for something, or off. Where a source needs you, it says the one step; where it cannot see something, it says that too.
Sessions started where a Mac with ottim.ai isn't involved, on a phone, say, are not counted, and nothing on the screen pretends otherwise.
Independent, by construction
ottim.ai takes no referral fees and no routing kickbacks.
Every change stays inside the provider and the account you already use. If you are an Anthropic shop, you stay an Anthropic shop.
Prices, cache terms and the real allowance behind every plan, for every provider, checked every night and dated, so a saving is never priced from a provider's own marketing.
ottim.ai knows how long a task took and which project it was for. Anyone who bills by the hour can turn that into time entries per ticket. Switched on by that person, never by management, and shown to nobody else.
For the engineer who was sent this link
~/.claude/projects) and Codex (~/.codex/sessions), the Claude app's chats, Cowork through an add-on, the browser through an extension, and any server usage folder you point it at. Each folder is asked for separately, and the list of what was looked at is kept in Settings.~/.ottim. Each part of each request keeps its origin: the file and folder, the tool, the skill, the memory, the history. That is how a card can name the line to move.claude -p with edit rights, never codex exec, never --dangerously-skip-permissions.http://ottimai.local/settings, answered by the Mac itself and nothing else.A limited pilot
The first pilot is open to a small number of companies. Each takes part with one team, on the Macs it already uses, and sees what ottim.ai finds in its own calls before anyone else does.
A small app on each Mac. otti sets it up in conversation: six short steps, most of them one click. Nothing changes in how anyone works.
ottim.ai counts. The first morning cards appear, and nothing is changed yet, so there is a clean before.
Each card the developer accepts runs with a single click, in front of them. ottim.ai sees it applied and measures it against the before.
Dollars and allowance saved, seconds saved, and what the developers thought.
Two things decide whether it worked: what was saved, and whether the developers noticed anything other than faster answers.
Apply for the pilot
Places are limited. Tell us a little about your company and we will be in touch about whether the pilot is a good fit.