what a turn actually costs me Harness, a screen-aware AI assistant, runs its entire perception stack in the browser to keep costs at zero for high-frequency tasks. The system uses on-device models like CLIP, PaddleOCR, and a quantized LFM2.5, while reserving cloud-based frontier models for complex reasoning, purchased at a discount through Surplus Intelligence's marketplace. This hybrid approach lets Harness scale without incurring per-use costs for most operations. 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 .