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 is the meter on your company's AI traffic, and your independent advocate on the inside. It watches every model call — from terminals, applications and browsers — and each morning tells you where the money and the seconds are going, and what to change. Every recommendation arrives with two numbers: dollars a month, and seconds per call.
Same prompts. Same quality. Smaller bill. Faster answers.
What you get
Dashboards show you where the money went. ottim.ai tells you what to do about it, in a form you can read and put into effect straight away — a line to move, a file to trim, a setting to change.
Every change is to the setup around the prompt — what gets loaded with it, when it runs, where it runs, and which of your provider's models runs it. Never to what anyone writes, and never to which provider you use. If you are an Anthropic shop, you stay an Anthropic shop.
Where a change depends on a different model behaving as well as the current one, it is tested first on your own past traffic, in a practice run that never executes anything. The test is named beside the number.
To see how a prompt is built, ottim.ai has to see the prompt. It reads them on your own machine and they never leave it. The only party that has ever seen them is the provider you already send them to. The report you share carries counts and changes, not text.
What the advice looks like
From a one-month shakedown at a 42-developer software company.† Every AI call your developers make is a parcel. Most of the parcel is the same from one call to the next. Most of the waste is in how it is packed.
The instructions file is loaded first, then a line carrying the date, time and session id, then the tools. That line changes on every call, so the provider's cache breaks every turn and you pay full price for text you have already sent.
first block differs on 100% of calls · cache read = 0 on 96% of 41,820 calls · 11 repositories
Move the date-and-session line to the end of the parcel, after the tools. One line, one file. Re-sending 400 of your own calls repacked took the cache hit rate from 4% to 89%.
The classification job runs on your provider's flagship model.
1,200 of your calls re-run on the same provider's small model · 1,200 passed the format check · 0 differences in the extracted fields
Switch the classifier only, to the small model on the same account. If the format check ever fails it falls back automatically, so the worst case is today's cost.
Your coding agent runs on the mid-sized model. It gets a tool call right first time in six attempts out of ten. Every miss is a full retry, so the cheaper model is the one costing you most.
61% first-attempt success across 8,400 calls · 2.44 attempts per success · $0.68 per finished task
Move the coding agent up to the same provider's larger model. It costs more per call and less per finished job: $0.41 against $0.68.
Eight documents are fetched and attached to every support-bot question. The model's answer draws on at most two of them.
8 documents per call · 9,400 tokens · 97% of 2,000 replayed answers unchanged with the top 3 only
Attach the top three. The other five are paid for and ignored.
Nine skill files are loaded into every coding session by default. Four have not been used in thirty days.
4 of 9 skills · 0 invocations · 6,800 tokens carried per call
Load those four on demand instead of by default. One settings change.
Nightly ingest jobs pay the interactive rate. Nobody is awake for them.
1,230 calls a month between 02:00 and 04:30 · no interactive session open
Send them through the provider's batch lane. Same model, same prompts, half the price.
Fourteen tool definitions ride on every call in the platform agent. Six have never been called.
6 of 14 tools · 0 invocations in 30 days · 2,140 tokens carried per call
Drop the six. If one is needed later it goes back in a minute.
Two services still call a model the provider retired in May and now prices above its replacement.
2 services · 4,100 calls a month · replacement 18% cheaper and 12% faster
Change the model name in two configuration files.
Spent on AI in the month, all sources
Recoverable a month — 35% — without changing a prompt or a provider
Median wait per finished task, down from 11.4 s
† Worked example: Northgate Systems, a fictional company built from typical usage patterns. Measured pilot figures replace it as they arrive.
The line that pays for everything
| Model (same provider) | Right first time | Attempts per success | Cost per finished task | Wait per task |
|---|---|---|---|---|
| 1 The larger one | 94% | 1.06 | $0.41 | 18 s |
| 2 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. Price per call is not the price of the work — and until someone counts attempts, nobody can see it.
How the pilot works
A small app on each developer's Mac. Ten minutes. Nothing changes in how anyone works.
ottim.ai watches and counts. The first morning reports appear; nothing is changed yet, so there is a clean before.
The changes you accept are made and measured against the before. Every one carries its own before-and-after.
Dollars saved, seconds saved, and what the developers thought.
Two things decide whether it worked: money saved, and whether the developers noticed anything other than faster answers.
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.
ottim.ai reads them there to see how they are built. Nothing is uploaded, and the only party that has ever seen them is the provider you already send them to. What leaves the machine, if you choose, is the report: counts, changes and dollars.
ottim.ai can tell projects apart and knows how long a task took. Anyone who has to account for their time by the hour can turn that into time entries per ticket, posted to your tracker as drafts they confirm. Switched on by that person, never by management; hours and session lengths are shown to nobody else.
For the engineer who was sent this link
Your developers are drivers. Their setups — instructions files, skills, tool definitions, model choices — are the car. A racing team does not tell the driver to drive better. It reads the telemetry, changes the setup, picks the right tyre for the conditions, and sends the car back out quicker than it came in.
That is the whole of what ottim.ai does. It is why nobody has to write a prompt differently, and why the only stopwatch here is the one you switch on yourself, for your own timesheet. Everything else is pointed at the car you were given.
Start a pilot