# what a turn actually costs me

> Source: <https://dev.to/saltorious/what-a-turn-actually-costs-me-36ce>
> Published: 2026-08-13 20:46:13+00:00

Four models read every frame Harness sees. CLIP embeds it. PaddleOCR pulls the text. A dense-text model embeds that. A reranker sorts results when you search. None of them bill me. They run in the tab, on your machine.

That's the cost structure. That's the strategy.

Screen capture and a MAD gate decide which frames survive. CLIP (`clip-vit-base-patch16`

) for image and text embedding. PaddleOCR for text, same-origin, because CSP blocks CDNs. `bge-base-en-v1.5`

at eight-bit for memory embeddings. A 23MB `ms-marco-MiniLM-L-6-v2`

reranker. Whisper for tab audio. LFM2.5, a 2.6B quantized to Q4_K_M, resident at 1.2GB, writing condensed conversation context. Postgres as PGlite for the memory store in the browser. Watchers compile to on-device predicates, so "tell me when I get outbid" costs nothing while it waits.

Look at a screen. Remember it. Search it. Keep watching. Those verbs run constantly and cost me nothing. Free tier is free. Your usage doesn't move my bill.

You pay in RAM, battery, and a 1.7GB download. On an M2 Pro the 2.6B prefills at 110-140 tok/s and decodes at 20-35. Below a measured floor, interactive roles stand down and only background work stays up.

Frontier turns are the other half. Research, multi-step reasoning, anything a 2.6B would butcher.

I buy those on a market. [Surplus Intelligence](https://surplusintelligence.ai) resells surplus provider quota over an OpenAI-compatible relay, below list, to the cheapest healthy seller. Buyer-savings endpoint had me at 46% off `gemini-3-5-flash`

and 66% averaged across what I was running. Harness charges list, executes on surplus. Spread is bridge margin. Disclosed. Not the business. Settlement is USDC on Base behind a capped approval, never max-uint. Otherwise I'm writing blank cheques to counterparties I can't name.

A model with no healthy discounted seller doesn't 404. It hangs. That's what made specific models look broken for a week. Fix: liquidity gate on a public markets endpoint, cached sixty seconds. Model rides surplus only with discounted liquidity and a healthy seller. Everything else goes direct to Venice at list. Header timeout and a circuit breaker catch sellers that rot inside the cache window. No model attestation on the marketplace, so a seller can advertise one SKU and serve another. I only resell from my own managed catalog.

High-frequency work costs nothing and scales on your hardware. Low-frequency work costs real money at half of list. No middle where volume eats me alive.

A competitor doing perception in the cloud can't copy the first half without rebuilding around the browser. Can't copy the second without joining a market most teams have never heard of. If you want the landscape instead of the ledger, I keep notes on [what screen-aware AI means](https://dev.to/what-is-screen-aware-ai) and [how the cloud-side tools compare](https://dev.to/best-screen-aware-ai).

Best line item is the one that never shows up.

Originally published on the [Harness blog](https://tryharness.ai/blog/what-a-turn-actually-costs). Harness is a screen-aware assistant that runs its perception stack in your browser: [tryharness.ai](https://tryharness.ai).
