<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael Lee</title>
    <description>The latest articles on DEV Community by Michael Lee (@michael_lee_4c5625964438c).</description>
    <link>https://dev.to/michael_lee_4c5625964438c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3983462%2F760a088e-e3e8-4c90-9e07-60600cda9731.png</url>
      <title>DEV Community: Michael Lee</title>
      <link>https://dev.to/michael_lee_4c5625964438c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/michael_lee_4c5625964438c"/>
    <language>en</language>
    <item>
      <title>How to Read a 2026 AI Benchmark Chart Without Getting Fooled</title>
      <dc:creator>Michael Lee</dc:creator>
      <pubDate>Tue, 07 Jul 2026 05:47:27 +0000</pubDate>
      <link>https://dev.to/michael_lee_4c5625964438c/how-to-read-a-2026-ai-benchmark-chart-without-getting-fooled-2m5p</link>
      <guid>https://dev.to/michael_lee_4c5625964438c/how-to-read-a-2026-ai-benchmark-chart-without-getting-fooled-2m5p</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://tierup.ai/blog/how-to-read-2026-ai-benchmarks" rel="noopener noreferrer"&gt;TierUp blog&lt;/a&gt;. A field guide to SWE-bench Pro, Terminal-Bench 2.1, and GPQA Diamond — what they measure and where they break.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Every model launch in 2026 ships with the same artifact: a bar chart where the new model's bar is tallest. The benchmarks on that chart are mostly good ones — better than what we had two years ago. But each has failure modes the marketing copy won't mention. Here's a field guide.&lt;/p&gt;

&lt;h2&gt;
  
  
  SWE-bench Pro: the coding benchmark that replaced the coding benchmark
&lt;/h2&gt;

&lt;p&gt;SWE-bench Verified used to be &lt;em&gt;the&lt;/em&gt; coding number. It's now effectively retired at the frontier: OpenAI publicly stopped evaluating on it, and audits reportedly found training-data overlap across frontier models plus a large share of hard tasks with flawed tests. When every model scores 70%+ on problems it may have memorized, the number stops meaning anything.&lt;/p&gt;

&lt;p&gt;Scale's SWE-bench Pro is the replacement: 1,865 real issue-to-patch tasks across 41 repositories in Python, Go, TypeScript, and JavaScript, split into public (731), held-out (858), and commercial (276) sets. Contamination is fought structurally — tasks come from strong-copyleft codebases and fully private commercial repos that model trainers can't legally ingest. The reset was brutal: at launch, Claude Opus 4.1 and GPT-5 scored ~23% here versus 70%+ on Verified. Today Claude Opus 4.8 leads at 69.2%, with Z.ai's open-weight GLM-5.2 at 62.1.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Caveat:&lt;/strong&gt; watch which &lt;em&gt;subset&lt;/em&gt; a vendor quotes. At launch, GPT-5 scored 23.1% on the public set but 14.9% on the commercial set. Same model, same benchmark name, meaningfully different number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminal-Bench 2.1: agents in a real shell
&lt;/h2&gt;

&lt;p&gt;Terminal-Bench 2.1 drops an agent into containerized terminal environments — 89 hard, human-authored tasks like compiling projects, training models, and configuring servers — and checks the end state with automated tests. It's the best public proxy we have for "can this thing actually operate a computer unattended." Current top scores: Claude Fable 5 at 88.0%, GPT-5.5 around 83–84%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two caveats.&lt;/strong&gt; First, version churn: 2.1 is harder than 2.0, so scores across versions are not comparable — a model "dropping" between versions may have gotten better. Second, harness sensitivity: Terminal-Bench scores a &lt;em&gt;model plus an agent scaffold&lt;/em&gt;, and the same model posts different numbers under different harnesses. Z.ai's GLM-5.2 announcement lists GPT-5.5 at 84.0; an independent leaderboard lists 83.4. Small gap here, but scaffold choice has swung other results by far more. Always ask: whose harness?&lt;/p&gt;

&lt;h2&gt;
  
  
  GPQA Diamond: saturated, and noisy at the top
&lt;/h2&gt;

&lt;p&gt;GPQA Diamond is 198 PhD-level multiple-choice questions in biology, physics, and chemistry — hard enough that PhD-holding experts scored ~69.7%. It was a great differentiator in 2024. In 2026, the frontier clusters at 91–94% (Gemini 3.1 Pro ~94.3%, Claude Opus 4.7/4.8 ~94.2/93.6%), and that's the problem: with 198 questions, one question is half a point, and Epoch AI's runs carry ±2% error bars plus formatting-related scoring noise. A 0.7-point lead on GPQA Diamond is statistically indistinguishable from a tie. The same is true of AIME-style math, where top models now score 98–99%.&lt;/p&gt;

&lt;p&gt;When a 2026 launch chart leads with GPQA or AIME, that's a tell: the interesting benchmarks must not have been flattering.&lt;/p&gt;

&lt;h2&gt;
  
  
  The successor benchmarks aren't clean either
&lt;/h2&gt;

&lt;p&gt;Humanity's Last Exam exists precisely because everything above saturated — frontier models sit around 35–40% against a ~90% human-expert baseline, so there's headroom. But quality control is shaky: one analysis estimates roughly 30% of its chemistry/biology reference answers are likely wrong, and many vendor-quoted HLE scores never land on the official leaderboard. Newer isn't automatically cleaner.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to actually read the chart
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Check saturation.&lt;/strong&gt; Any benchmark where leaders cluster above ~90% ranks noise, not capability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check contamination design.&lt;/strong&gt; Prefer benchmarks with held-out or private splits (SWE-bench Pro) over static public sets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the harness and subset.&lt;/strong&gt; Vendor-run agentic scores are model+scaffold scores on the vendor's chosen split. Look for the independent leaderboard number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distrust single numbers entirely.&lt;/strong&gt; GLM-5.2 beats GPT-5.5 on SWE-bench Pro and loses to it on Terminal-Bench 2.1. Neither number alone tells you which to deploy — your workload decides which benchmark is the relevant one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The uncomfortable conclusion: "which model is best" now genuinely depends on the task, and re-litigating that question every launch week is a job in itself. That's the job we do at TierUp so you can just pick a tier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://scale.com/blog/swe-bench-pro" rel="noopener noreferrer"&gt;Scale AI — SWE-Bench Pro: Raising the Bar for Agentic Coding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://labs.scale.com/leaderboard/swe_bench_pro_public" rel="noopener noreferrer"&gt;Scale — SWE-bench Pro public leaderboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/" rel="noopener noreferrer"&gt;OpenAI — Why SWE-bench Verified no longer measures frontier coding capabilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kili-technology.com/blog/ai-benchmarks-guide-the-top-evaluations-in-2026-and-why-theyre-not-enough" rel="noopener noreferrer"&gt;Kili Technology — AI Benchmarks 2026: Top Evaluations and Their Limits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codingfleet.com/blog/terminal-bench-leaderboard-2026/" rel="noopener noreferrer"&gt;CodingFleet — Terminal-Bench 2.1 Leaderboard (2026)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://epoch.ai/benchmarks/gpqa-diamond" rel="noopener noreferrer"&gt;Epoch AI — GPQA Diamond&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://intuitionlabs.ai/articles/gpqa-diamond-ai-benchmark" rel="noopener noreferrer"&gt;IntuitionLabs — GPQA-Diamond Benchmark: Scores and Leaderboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/blog/zai-org/glm-52-blog" rel="noopener noreferrer"&gt;Z.ai — GLM-5.2: Built for Long-Horizon Tasks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Humanity%27s_Last_Exam" rel="noopener noreferrer"&gt;Wikipedia — Humanity's Last Exam&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>programming</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Stop Optimizing for the Cheapest Token. Optimize Quality-per-Dollar.</title>
      <dc:creator>Michael Lee</dc:creator>
      <pubDate>Tue, 07 Jul 2026 05:43:22 +0000</pubDate>
      <link>https://dev.to/michael_lee_4c5625964438c/stop-optimizing-for-the-cheapest-token-optimize-quality-per-dollar-56kk</link>
      <guid>https://dev.to/michael_lee_4c5625964438c/stop-optimizing-for-the-cheapest-token-optimize-quality-per-dollar-56kk</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://tierup.ai/blog/quality-per-dollar-routing" rel="noopener noreferrer"&gt;TierUp blog&lt;/a&gt;. The 2026 evidence on LLM routing: why both "always the flagship" and "always the cheapest" leave money on the table.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For the first couple of years of the LLM API era, teams picked a model the way they picked a database: once, emotionally, and then defended the choice in perpetuity. Some hardcoded the frontier model because "quality matters." Others hardcoded the cheapest model because "it's mostly good enough." Both camps are leaving money — or capability — on the table, and in 2026 the third-party evidence for that has gotten hard to ignore.&lt;/p&gt;

&lt;h2&gt;
  
  
  The price spread makes single-model choices indefensible
&lt;/h2&gt;

&lt;p&gt;The gap between tiers is not 2x. &lt;a href="https://www.digitalapplied.com/blog/llm-model-routing-2026-cost-quality-optimization-engineering-guide" rel="noopener noreferrer"&gt;Digital Applied's June 2026 routing guide&lt;/a&gt; puts current input pricing at roughly $0.44/M tokens for DeepSeek V4, $1/M for Claude Haiku 4.5, $3/M for Sonnet 4.6, $5/M for GPT-5.5, and $25/M for Opus 4.8 — with the full spread from cheapest input to priciest frontier output running around 100x.&lt;/p&gt;

&lt;p&gt;A 100x spread means the &lt;em&gt;routing decision&lt;/em&gt; is worth more than almost any other optimization you can make. Prompt caching might save you 50–90% on repeated prefixes; batching might save 50%. Sending a "reformat this JSON" request to a model priced 100x below the frontier saves 99%.&lt;/p&gt;

&lt;p&gt;And the spread is a moving target. &lt;a href="https://epoch.ai/data-insights/llm-inference-price-trends" rel="noopener noreferrer"&gt;Epoch AI's analysis&lt;/a&gt; found that the price to reach a &lt;em&gt;fixed&lt;/em&gt; capability level has been falling between 9x and 900x per year depending on the benchmark, with a median around 50x annually. Concretely: the capability you're paying frontier prices for today will be available at mid-tier prices in months. A hardcoded model choice is a depreciating asset. &lt;a href="https://www.gartner.com/en/newsroom/press-releases/2026-03-25-gartner-predicts-that-by-2030-performing-inference-on-an-llm-with-1-trillion-parameters-will-cost-genai-providers-over-90-percent-less-than-in-2025" rel="noopener noreferrer"&gt;Gartner now projects&lt;/a&gt; that inference on a trillion-parameter model will cost providers over 90% less by 2030 than in 2025.&lt;/p&gt;

&lt;h2&gt;
  
  
  The research: most queries don't need the frontier
&lt;/h2&gt;

&lt;p&gt;This isn't just a pricing observation — it's an empirical one about workloads. The peer-reviewed RouteLLM work (cited in &lt;a href="https://www.digitalapplied.com/blog/llm-model-routing-2026-cost-quality-optimization-engineering-guide" rel="noopener noreferrer"&gt;Digital Applied's guide&lt;/a&gt;) showed a trained router achieving &lt;strong&gt;85% cost savings on MT Bench while retaining 95% of GPT-4 quality&lt;/strong&gt;, with its matrix-factorization router needing the frontier model on only about 14% of queries. The authors' principle is worth framing: &lt;em&gt;all queries that can be handled by weaker models should be routed to those models.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Production numbers line up with the lab. &lt;a href="https://www.edenai.co/post/best-llm-routers" rel="noopener noreferrer"&gt;Eden AI's 2026 router comparison&lt;/a&gt; reports routing reduces LLM costs by 30–85% depending on workload and quality requirements, and Digital Applied cites teams seeing 40–85% bill reductions, with even a crude 70/30 cheap-to-frontier split yielding roughly 67% savings.&lt;/p&gt;

&lt;p&gt;Notice what "quality-per-dollar" is &lt;em&gt;not&lt;/em&gt;: it is not "use the cheapest model." On the hard 14–30% of your traffic, the cheap model fails, you retry, you burn user trust, and your effective cost per &lt;em&gt;successful&lt;/em&gt; outcome exceeds what the frontier model would have charged. Cheapest-token optimization and best-benchmark optimization are the same mistake in opposite directions — both evaluate the model in isolation instead of evaluating cost per solved task.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest caveats
&lt;/h2&gt;

&lt;p&gt;Routing is not free lunch, and it's worth stating the failure modes plainly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Silent quality regression&lt;/strong&gt; is the real risk. Digital Applied's guide describes degraded answers surfacing in customer tickets days later rather than on a dashboard. The mitigation is unglamorous: an eval suite of a few hundred representative cases that gates any routing-policy change, exactly like a test suite gates a deploy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Router overhead matters, but less than you'd think&lt;/strong&gt; — rule-based routing adds under 1ms and even ML classifiers add 50–100ms against typical 500–2,000ms inference times.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Some workloads shouldn't be routed.&lt;/strong&gt; If 95% of your traffic genuinely needs frontier reasoning, a router is complexity without payoff. Measure first.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where TierUp fits
&lt;/h2&gt;

&lt;p&gt;This thesis is why TierUp exists. Instead of hardcoding a model ID, you pick a performance tier and we route each request to the model currently offering the best quality-per-dollar at that tier — repriced as the market moves, so Epoch AI's 50x-per-year deflation shows up on your bill instead of your provider's margin. Same API shape, below-retail pricing, and no vendor archaeology every time a new model ships.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.digitalapplied.com/blog/llm-model-routing-2026-cost-quality-optimization-engineering-guide" rel="noopener noreferrer"&gt;LLM Model Routing in 2026: Cost-Quality Optimization — Digital Applied&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://epoch.ai/data-insights/llm-inference-price-trends" rel="noopener noreferrer"&gt;LLM inference prices have fallen rapidly but unequally across tasks — Epoch AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.edenai.co/post/best-llm-routers" rel="noopener noreferrer"&gt;Best LLM Routers in 2026: Compared by Cost, Latency &amp;amp; Features — Eden AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gartner.com/en/newsroom/press-releases/2026-03-25-gartner-predicts-that-by-2030-performing-inference-on-an-llm-with-1-trillion-parameters-will-cost-genai-providers-over-90-percent-less-than-in-2025" rel="noopener noreferrer"&gt;Gartner: 1-trillion-parameter inference to cost over 90% less by 2030 — Gartner Newsroom&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>api</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Why AI Bills Explode While Token Prices Fall</title>
      <dc:creator>Michael Lee</dc:creator>
      <pubDate>Tue, 07 Jul 2026 05:40:17 +0000</pubDate>
      <link>https://dev.to/michael_lee_4c5625964438c/why-ai-bills-explode-while-token-prices-fall-2k8j</link>
      <guid>https://dev.to/michael_lee_4c5625964438c/why-ai-bills-explode-while-token-prices-fall-2k8j</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://tierup.ai/blog/why-ai-bills-explode" rel="noopener noreferrer"&gt;TierUp blog&lt;/a&gt;. Per-token prices fell ~280x in two years and enterprise AI budgets still tripled — here's the math behind the paradox.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here's the paradox defining AI budgets in 2026: per-token prices have been in freefall, and total spend keeps going up anyway. &lt;a href="https://henon.ai/insights/token-prices-fell-98-enterprise-ai-costs-tripled-now-companies-are-asking-why" rel="noopener noreferrer"&gt;Henon's analysis&lt;/a&gt; leads with the headline version — token prices fell 98% while enterprise AI costs tripled. &lt;a href="https://oplexa.com/ai-inference-cost-crisis-2026/" rel="noopener noreferrer"&gt;Oplexa's inference-cost report&lt;/a&gt;, citing Epoch AI and AnalyticsWeek data, frames it even more starkly: effective per-token costs down roughly 280x over two years (from ~$30/M in 2023 to ~$0.10/M for comparable capability in 2026), while average enterprise AI budgets grew from about $1.2M in 2024 to $7M in 2026 — and inference now eats ~85% of the AI budget, up from 40% in 2023.&lt;/p&gt;

&lt;p&gt;Falling prices didn't fail. Volume won.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the volume comes from
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Agents multiply calls.&lt;/strong&gt; A chatbot answers a question with one model call. An agent plans, calls tools, reads results, retries, and self-checks. Gartner's March 2026 analysis, as cited by Oplexa, found agentic workflows make &lt;strong&gt;10–20 LLM calls per user-initiated task&lt;/strong&gt; and consume &lt;strong&gt;5–30x more tokens&lt;/strong&gt; than a standard chatbot interaction. Every product that quietly upgraded from "chat" to "agent" this year multiplied its token volume by an order of magnitude without changing its pricing page — or yours.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RAG inflates every call.&lt;/strong&gt; Retrieval-augmented requests carry 3–5x more tokens than the bare question, per the same Gartner-cited analysis. That's the point of RAG — but it means your &lt;em&gt;input&lt;/em&gt; volume scales with your document chunking strategy, not your user count. And as we covered in &lt;a href="https://tierup.ai/blog/the-tokenizer-tax" rel="noopener noreferrer"&gt;the tokenizer tax post&lt;/a&gt;, fat contexts can also push you across long-context pricing thresholds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Always-on beats per-request.&lt;/strong&gt; Monitoring agents, background summarizers, and scheduled pipelines consume tokens around the clock whether or not a human is watching. Usage stops tracking headcount.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Humans, given leverage, use more of it.&lt;/strong&gt; &lt;a href="https://techcrunch.com/2026/06/05/the-token-bill-comes-due-inside-the-industry-scramble-to-manage-ais-runaway-costs/" rel="noopener noreferrer"&gt;TechCrunch's June 2026 report&lt;/a&gt; on the industry's cost scramble has the receipts: Jellyfish's research head measured per-developer token consumption rising &lt;strong&gt;~18.6x in nine months&lt;/strong&gt;. Their study found the heaviest token users were about twice as productive — but spent 10x more tokens getting there. Uber reportedly blew through its entire 2026 AI coding budget by April. Priceline saw a Cursor renewal come back 4–5x more expensive, with one engineer spending $40,000 on tokens in a single month. One company reportedly discovered a $500 million Claude bill after failing to set usage limits.&lt;/p&gt;

&lt;p&gt;The pattern across all four: cost per token fell, tokens per outcome exploded, and outcomes per user grew. Multiply three curves and the product points up.&lt;/p&gt;

&lt;h2&gt;
  
  
  The mitigation checklist
&lt;/h2&gt;

&lt;p&gt;The response emerging across the industry — TechCrunch describes the conversation shifting wholesale from capability to "guardrails," and a Tokenomics Foundation standards body launching this month — amounts to FinOps for AI. The practical version:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Route by task difficulty.&lt;/strong&gt; Most calls in an agent loop are glue — classification, extraction, formatting — and don't need a frontier model. Oplexa reports model routing cutting spend &lt;strong&gt;60–80%&lt;/strong&gt;, the single largest lever on their list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set hard budgets and per-group limits.&lt;/strong&gt; Priceline's approach per TechCrunch: token limits on employee groups. Alerts are not limits; limits are limits. (See also: the reported $500M bill.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cache aggressively.&lt;/strong&gt; Prompt caching (up to 90% off cached input) and semantic caching (30–50% savings per Oplexa) attack the RAG-inflation problem directly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch what isn't interactive.&lt;/strong&gt; Batch APIs run 50% off at major providers. Background summarizers and nightly pipelines rarely need real-time pricing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cap agent loops.&lt;/strong&gt; Set maximum iterations and maximum tool calls per task. An agent that retries itself into a 20-call loop is a cost incident, not a feature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trim retrieval.&lt;/strong&gt; Measure whether your 3–5x context inflation actually improves answers. Rerank harder, stuff less.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Meter tokens per outcome.&lt;/strong&gt; Track tokens-per-resolved-task, not spend-per-month. It's the only metric that separates "we're doing more" from "we're wasting more."&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The honest takeaway
&lt;/h2&gt;

&lt;p&gt;Rising AI spend isn't automatically a problem — Jellyfish's data shows the heavy spenders really were more productive. The problem is &lt;em&gt;unexamined&lt;/em&gt; spend: frontier models doing glue work, uncapped loops, and nobody owning the tokens-per-outcome number. Prices will keep falling. Your bill will keep rising. The only variable you control is how much of that bill buys something.&lt;/p&gt;

&lt;p&gt;Routing every call to the cheapest tier that clears your quality bar is item one on the checklist — and it's the entire premise of TierUp.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techcrunch.com/2026/06/05/the-token-bill-comes-due-inside-the-industry-scramble-to-manage-ais-runaway-costs/" rel="noopener noreferrer"&gt;The token bill comes due: Inside the industry scramble to manage AI's runaway costs — TechCrunch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://oplexa.com/ai-inference-cost-crisis-2026/" rel="noopener noreferrer"&gt;AI Inference Cost Crisis 2026 — Oplexa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://henon.ai/insights/token-prices-fell-98-enterprise-ai-costs-tripled-now-companies-are-asking-why" rel="noopener noreferrer"&gt;Token prices fell 98%. Enterprise AI costs tripled. — Henon Insights&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>api</category>
      <category>programming</category>
    </item>
    <item>
      <title>The Tokenizer Tax: How Your Bill Goes Up Without a Price Change</title>
      <dc:creator>Michael Lee</dc:creator>
      <pubDate>Sun, 05 Jul 2026 16:09:54 +0000</pubDate>
      <link>https://dev.to/michael_lee_4c5625964438c/the-tokenizer-tax-how-your-bill-goes-up-without-a-price-change-2408</link>
      <guid>https://dev.to/michael_lee_4c5625964438c/the-tokenizer-tax-how-your-bill-goes-up-without-a-price-change-2408</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://tierup.ai/blog/the-tokenizer-tax" rel="noopener noreferrer"&gt;TierUp blog&lt;/a&gt;. A case study in how an LLM bill rises 12–27% with zero change to the rate card.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The rate card is the least interesting number on your AI invoice. What you actually pay is price × tokens, and providers have far more ways to move the second factor than the first. The clearest recent example: Claude Opus 4.7.&lt;/p&gt;

&lt;h2&gt;
  
  
  Same price, more tokens
&lt;/h2&gt;

&lt;p&gt;When Opus 4.7 shipped this spring, the sticker price didn't move — $5/M input, $25/M output, the same rates Anthropic has held since Opus 4.1, as &lt;a href="https://www.finout.io/blog/claude-opus-4.7-pricing-the-real-cost-story-behind-the-unchanged-price-tag" rel="noopener noreferrer"&gt;Finout's pricing analysis&lt;/a&gt; notes. What changed was the tokenizer. Anthropic's own documentation disclosed that the new tokenizer produces &lt;strong&gt;1.0–1.35x as many tokens&lt;/strong&gt; for the same text, with the high end landing on code, structured data, and non-English text.&lt;/p&gt;

&lt;p&gt;Independent measurements suggest the official range was, if anything, conservative:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.claudecodecamp.com/p/i-measured-claude-4-7-s-new-tokenizer-here-s-what-it-costs-you" rel="noopener noreferrer"&gt;ClaudeCodeCamp's measurement post&lt;/a&gt; found &lt;strong&gt;1.47x on technical documentation&lt;/strong&gt; and 1.445x on real CLAUDE.md files — above the documented ceiling — with a weighted average of about 1.325x across real coding-session content. Characters-per-token fell from 4.33 to 3.60 for English prose and from 3.66 to 2.69 for TypeScript.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://openrouter.ai/announcements/opus-47-tokenizer-analysis" rel="noopener noreferrer"&gt;OpenRouter's analysis&lt;/a&gt; (published April 27, 2026) measured &lt;strong&gt;32–45% token inflation&lt;/strong&gt; across prompt-size buckets, translating to real-world cost increases of &lt;strong&gt;12–27%&lt;/strong&gt; for most workloads. The interesting exception: prompts under 2K tokens came out about 1.6% &lt;em&gt;cheaper&lt;/em&gt;, and prompt caching absorbed much of the inflation on very long contexts (93% of the extra tokens were cache reads in the 128K+ bucket).&lt;/li&gt;
&lt;li&gt;ClaudeCodeCamp's end-to-end estimate: a typical 80-turn coding session that cost about $6.65 on Opus 4.6 runs &lt;strong&gt;$7.86–$8.76 on 4.7&lt;/strong&gt; — a 20–30% increase at an identical rate card.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To be fair, this wasn't a stealth price hike. Anthropic documented the range and gave a rationale — finer-grained tokens improve literal instruction-following and tool-call precision, per the stated reasoning quoted in ClaudeCodeCamp's writeup. You may well be getting a better model per dollar. But if your budget model assumed "price unchanged = cost unchanged," it's now wrong by up to a quarter.&lt;/p&gt;

&lt;h2&gt;
  
  
  The other hidden multipliers
&lt;/h2&gt;

&lt;p&gt;The tokenizer tax is one member of a family. None of these show up as a price change; all of them change what you pay.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The output premium.&lt;/strong&gt; Every major model charges a multiple for output over input: 5x on Opus 4.7 and Sonnet 4.6 ($25 vs $5, $15 vs $3), 6x on GPT-5.5 and Gemini 3 Flash, per the major pricing trackers (see &lt;a href="https://tierup.ai/blog/state-of-llm-api-pricing-july-2026" rel="noopener noreferrer"&gt;our pricing roundup&lt;/a&gt;). As Finout puts it, output token growth matters more than input growth precisely because of this multiplier. A model that's slightly chattier — longer explanations, more verbose chain-of-thought, bigger tool-call payloads — raises your bill with no pricing announcement at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long-context surcharges.&lt;/strong&gt; Gemini 3.1 Pro charges $2/$12 up to 200K context but $4/$18 beyond it, per &lt;a href="https://www.cloudzero.com/blog/llm-api-pricing-comparison/" rel="noopener noreferrer"&gt;CloudZero's pricing data&lt;/a&gt;. Cross that threshold with a bloated RAG pipeline and your marginal input rate doubles — again with no change to any published price.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cache invalidation on model upgrades.&lt;/strong&gt; Prompt caching is the biggest legitimate discount available (up to 90% on cache reads). But caches are model-partitioned: when you upgrade, every cached prefix must be rewritten — and after a tokenizer change, the prefix you're re-caching is 1.3–1.45x larger than before, as ClaudeCodeCamp documented. Budget for an expensive cold-start week after every migration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retries and truncation.&lt;/strong&gt; A failed or truncated call you retry costs full price both times; the arithmetic is unforgiving in agent loops where one flaky step re-runs an entire chain. Timeouts, malformed tool calls, and max-token truncations are all billable events.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do about it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Meter tokens, not requests.&lt;/strong&gt; Track tokens-per-task over time; that's the metric that catches a tokenizer change or creeping verbosity. Dollar dashboards lag; token dashboards lead.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-benchmark cost on every model upgrade&lt;/strong&gt;, not just quality. Run your standard eval set and compare billed tokens, not request counts, before and after.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cap output.&lt;/strong&gt; Set &lt;code&gt;max_tokens&lt;/code&gt; deliberately and prefer terse output formats — every output token is 4–6 input tokens' worth of money.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch context thresholds.&lt;/strong&gt; If you're near a long-context pricing tier, trimming retrieval is a step-function saving, not a marginal one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The rate card is marketing. The multipliers are the bill. Tracking those multipliers across providers is most of what cost-aware routing means — and it's the work TierUp does so you don't have to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.claudecodecamp.com/p/i-measured-claude-4-7-s-new-tokenizer-here-s-what-it-costs-you" rel="noopener noreferrer"&gt;I Measured Claude 4.7's New Tokenizer. Here's What It Costs You. — ClaudeCodeCamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openrouter.ai/announcements/opus-47-tokenizer-analysis" rel="noopener noreferrer"&gt;Opus 4.7's New Tokenizer: What It Actually Costs — OpenRouter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.finout.io/blog/claude-opus-4.7-pricing-the-real-cost-story-behind-the-unchanged-price-tag" rel="noopener noreferrer"&gt;Claude Opus 4.7 Pricing: The Real Cost Story Behind the "Unchanged" Price Tag — Finout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cloudzero.com/blog/llm-api-pricing-comparison/" rel="noopener noreferrer"&gt;LLM API Pricing Comparison In 2026 — CloudZero&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>api</category>
      <category>programming</category>
    </item>
    <item>
      <title>The State of LLM API Pricing: July 2026</title>
      <dc:creator>Michael Lee</dc:creator>
      <pubDate>Sun, 05 Jul 2026 14:17:05 +0000</pubDate>
      <link>https://dev.to/michael_lee_4c5625964438c/the-state-of-llm-api-pricing-july-2026-acj</link>
      <guid>https://dev.to/michael_lee_4c5625964438c/the-state-of-llm-api-pricing-july-2026-acj</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://tierup.ai/blog/state-of-llm-api-pricing-july-2026" rel="noopener noreferrer"&gt;TierUp blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you last looked at a model price sheet a year ago, the single most important thing that changed isn't any one number. It's the spread. As of this month, published per-token prices run from about &lt;strong&gt;$0.075 per million input tokens&lt;/strong&gt; at the bottom (Gemini 2.5 Flash-Lite, per &lt;a href="https://www.getapipulse.com/blog-state-of-llm-pricing-june-2026.html" rel="noopener noreferrer"&gt;APIpulse's June 2026 survey&lt;/a&gt;) to &lt;strong&gt;$30 input / $180 output&lt;/strong&gt; at the top (OpenAI's GPT-5.5 Pro tier, confirmed across &lt;a href="https://www.getapipulse.com/blog-state-of-llm-pricing-june-2026.html" rel="noopener noreferrer"&gt;APIpulse&lt;/a&gt;, &lt;a href="https://www.cloudzero.com/blog/llm-api-pricing-comparison/" rel="noopener noreferrer"&gt;CloudZero&lt;/a&gt;, and &lt;a href="https://costgoat.com/compare/llm-api" rel="noopener noreferrer"&gt;CostGoat&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;That's roughly a &lt;strong&gt;400x spread on input&lt;/strong&gt; and a &lt;strong&gt;600x spread on output&lt;/strong&gt;. Two API calls that look identical in your code can differ in cost by more than two orders of magnitude depending on one string: the model name.&lt;/p&gt;

&lt;h2&gt;
  
  
  The landscape in one table
&lt;/h2&gt;

&lt;p&gt;Prices below are per million tokens, cross-checked against three trackers updated between May 11 and July 5, 2026. Prices move; verify against the provider's page before committing budget.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Input $/M&lt;/th&gt;
&lt;th&gt;Output $/M&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5 Pro&lt;/td&gt;
&lt;td&gt;$30.00&lt;/td&gt;
&lt;td&gt;$180.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Opus 4.7&lt;/td&gt;
&lt;td&gt;$5.00&lt;/td&gt;
&lt;td&gt;$25.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;$5.00&lt;/td&gt;
&lt;td&gt;$30.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Sonnet 4.6&lt;/td&gt;
&lt;td&gt;$3.00&lt;/td&gt;
&lt;td&gt;$15.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3.1 Pro (≤200K context)&lt;/td&gt;
&lt;td&gt;$2.00&lt;/td&gt;
&lt;td&gt;$12.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Haiku 4.5&lt;/td&gt;
&lt;td&gt;$1.00&lt;/td&gt;
&lt;td&gt;$5.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 3 Flash&lt;/td&gt;
&lt;td&gt;$0.50&lt;/td&gt;
&lt;td&gt;$3.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 2.5 Flash-Lite&lt;/td&gt;
&lt;td&gt;$0.075&lt;/td&gt;
&lt;td&gt;$0.30&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A few footnotes that matter more than they look:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Long context costs extra.&lt;/strong&gt; Gemini 3.1 Pro doubles its input rate (to $4/M) and raises output to $18/M once you cross 200K tokens of context, per CloudZero's data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Naming churn is real.&lt;/strong&gt; CloudZero's May snapshot listed the $30/$180 OpenAI tier as "GPT-5.4 Pro"; APIpulse and CostGoat now list "GPT-5.5 Pro" at the identical price. The tier is stable even when the model name isn't — plan around tiers, not names.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-weight-hosted models anchor the floor.&lt;/strong&gt; DeepSeek's models are listed at $0.27/$1.10 (V3.2, CloudZero) down to $0.14/$0.28 for newer flash variants (APIpulse). The budget floor is crowded and keeps dropping.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the spread actually means for you
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The middle tier is where most production work belongs.&lt;/strong&gt; Claude Sonnet 4.6 ($3/$15) and GPT-5.4 ($2.50/$15) are the consensus workhorses in every tracker we checked — frontier-adjacent quality at roughly 1/12th the cost of the Pro tiers. The $30/$180 tier buys measurably better performance on hard reasoning, but at 12x the price of models that handle the large majority of real workloads fine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output pricing is the quiet killer.&lt;/strong&gt; Every model in the table charges 4–6x more for output than input. If your workload is generation-heavy (long answers, code, reports), the output column is the one to optimize — a topic big enough that we wrote &lt;a href="https://tierup.ai/blog/the-tokenizer-tax" rel="noopener noreferrer"&gt;a separate post on hidden cost multipliers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Discounts are large and underused.&lt;/strong&gt; Batch APIs run 50% off and prompt caching discounts cached input by up to 90% at the major providers, per CloudZero. If you're paying rack rate on repetitive prefixes, you're overpaying by design.&lt;/p&gt;

&lt;h2&gt;
  
  
  The uncomfortable implication
&lt;/h2&gt;

&lt;p&gt;A 400–600x price spread means model selection is now a bigger cost lever than any infrastructure decision most teams will make this year. Hardcoding a flagship model name into every call path was defensible when the spread was 10x. At 600x, it's a budget decision being made by a config file nobody has reviewed since March.&lt;/p&gt;

&lt;p&gt;The practical move: classify your workloads by the quality they actually need, route each class to the cheapest tier that clears the bar, and re-check quarterly — because as the naming churn above shows, the map gets redrawn every few months. That's the exact problem &lt;a href="https://tierup.ai/?ref=devto" rel="noopener noreferrer"&gt;TierUp&lt;/a&gt;'s tier-based routing exists to automate — disclosure: I'm the founder, and the tier-1 free playground at &lt;a href="https://tierup.ai/try" rel="noopener noreferrer"&gt;tierup.ai/try&lt;/a&gt; needs no signup if you want to see it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cloudzero.com/blog/llm-api-pricing-comparison/" rel="noopener noreferrer"&gt;LLM API Pricing Comparison In 2026 — CloudZero&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getapipulse.com/blog-state-of-llm-pricing-june-2026.html" rel="noopener noreferrer"&gt;State of LLM API Pricing, June 2026: 42 Models Compared — APIpulse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://costgoat.com/compare/llm-api" rel="noopener noreferrer"&gt;LLM API Pricing Comparison &amp;amp; Cost Guide (Jul 2026) — CostGoat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>api</category>
      <category>openai</category>
    </item>
    <item>
      <title>Tiers, not models: designing an LLM router on Cloudflare Workers</title>
      <dc:creator>Michael Lee</dc:creator>
      <pubDate>Sun, 05 Jul 2026 09:40:32 +0000</pubDate>
      <link>https://dev.to/michael_lee_4c5625964438c/tiers-not-models-designing-an-llm-router-on-cloudflare-workers-435i</link>
      <guid>https://dev.to/michael_lee_4c5625964438c/tiers-not-models-designing-an-llm-router-on-cloudflare-workers-435i</guid>
      <description>&lt;p&gt;Every LLM app I've shipped had the same shelf life: pick the best model, hardcode it, and watch it become the second-best model within a month. The fix I keep seeing is a config file full of model strings and a quarterly migration chore. I wanted the abstraction one level up: &lt;strong&gt;"how smart does this request need to be?"&lt;/strong&gt; — so I built a router around performance tiers instead of model names.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tier contract
&lt;/h2&gt;

&lt;p&gt;Four tiers: Speed / Balance / Intelligence / Reasoning. The API is OpenAI-compatible; &lt;code&gt;model: "tier-2"&lt;/code&gt; is the only change a client makes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.tierup.ai/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tier-2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# 1=speed, 2=balance, 3=intelligence, 4=reasoning
&lt;/span&gt;    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each tier maps to the current best-value model in its class — that mapping is &lt;em&gt;my&lt;/em&gt; problem, versioned server-side, so an upgrade reaches every client with zero code changes on their side.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack, concretely
&lt;/h2&gt;

&lt;p&gt;One Cloudflare Worker (Hono) fronts everything: auth (API key or Supabase JWT), a D1 database for users/wallets/request logs, KV for rate limits, and OpenRouter as the upstream aggregator. The Worker validates the request, checks the wallet, rewrites &lt;code&gt;tier-N&lt;/code&gt; to the mapped model, proxies (streaming or not), then strips provider/model details from the response so the tier abstraction doesn't leak. Usage and cost are logged per request in D1; billing deducts from a prepaid wallet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What was genuinely hard
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Streaming + billing&lt;/strong&gt;: you can't know the cost until the last SSE chunk, so billing runs in &lt;code&gt;waitUntil&lt;/code&gt; after the stream closes — and you have to trust (and verify) the usage block in the final chunk.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error compatibility&lt;/strong&gt;: OpenAI-SDK clients break on nonstandard error bodies; every upstream failure has to be reshaped into the OpenAI error schema.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Health vs function&lt;/strong&gt;: our &lt;code&gt;/health&lt;/code&gt; returned 200 while auth was down (paused upstream DB) and, separately, while completions were broken (a corrupted API-key secret). Reachability lies. We now run a synthetic probe every 6h that signs up a disposable user, logs in, runs a tier-1 completion, and deletes itself — that's the only health check we trust.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The economics (disclosure)
&lt;/h2&gt;

&lt;p&gt;This runs on top of OpenRouter and is priced ~50% under retail while we find out whether tier-routing is a thing people want — a subsidized PMF experiment, stated plainly on the site. Tier 1 is currently free. If you want to poke at it: &lt;a href="https://tierup.ai/?ref=devto" rel="noopener noreferrer"&gt;tierup.ai&lt;/a&gt; (playground with no signup at &lt;a href="https://tierup.ai/try" rel="noopener noreferrer"&gt;tierup.ai/try&lt;/a&gt;, $25 credit, no card). I'm more interested in critique of the tier abstraction than in signups — comments very welcome.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>cloudflare</category>
      <category>api</category>
    </item>
    <item>
      <title>The 1% Problem: Why Nobody Answers Cold Email Anymore (and What Actually Works in 2026)</title>
      <dc:creator>Michael Lee</dc:creator>
      <pubDate>Sun, 14 Jun 2026 06:37:39 +0000</pubDate>
      <link>https://dev.to/michael_lee_4c5625964438c/the-1-problem-why-nobody-answers-cold-email-anymore-and-what-actually-works-in-2026-gem</link>
      <guid>https://dev.to/michael_lee_4c5625964438c/the-1-problem-why-nobody-answers-cold-email-anymore-and-what-actually-works-in-2026-gem</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://donatalk.com/the-1-problem-why-nobody-answers-cold-email-anymore-and-what-actually-works-in-2026/" rel="noopener noreferrer"&gt;DonaTalk blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you send cold emails for a living, you already feel it: reply rates that were 8–10% a decade ago now hover around 1–3% — and "positive reply" rates are a fraction of that. Industry studies from Backlinko, Gong, and Belkins all converge on the same uncomfortable picture: the average cold email campaign needs 100+ sends to produce a single interested response.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why cold outreach keeps getting worse
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Volume exploded.&lt;/strong&gt; AI writing tools made it free to send "personalized" email at infinite scale — so every decision-maker's inbox became a wall of lookalike sequences.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filters got smarter.&lt;/strong&gt; Google and Microsoft now route bulk-pattern mail to spam or "Promotions" before a human ever sees it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trust collapsed.&lt;/strong&gt; When everything is "personalized," nothing is. Recipients assume automation and delete on sight.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The math is brutal. At a 1% reply rate, a salesperson sending 50 emails a day generates roughly one conversation every two days — before qualification. The cost per actual meeting from cold email, fully loaded with SDR time and tooling, routinely exceeds $300–$800.&lt;/p&gt;

&lt;h2&gt;
  
  
  The signal problem, not a copy problem
&lt;/h2&gt;

&lt;p&gt;Most "fix your cold email" advice optimizes subject lines and CTAs. But the core issue isn't copy — it's that email costs the sender nothing, so it carries no signal. A busy executive can't tell the difference between a rep who spent an hour researching them and a robot that scraped their LinkedIn. Both messages look identical, so both get ignored.&lt;/p&gt;

&lt;p&gt;Economists call this a signaling failure. The fix isn't better words; it's attaching a cost to the ask that proves you're serious.&lt;/p&gt;

&lt;h2&gt;
  
  
  What attaching real skin-in-the-game looks like
&lt;/h2&gt;

&lt;p&gt;That's the idea behind &lt;a href="https://donatalk.com" rel="noopener noreferrer"&gt;DonaTalk&lt;/a&gt;: instead of sending email #101 into the void, you commit a $10+ donation to the recipient's favorite charity in exchange for a 15-minute meeting. The donation only goes through if they accept — no acceptance, no charge.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For the &lt;strong&gt;seller&lt;/strong&gt;, $10–$25 per accepted meeting is dramatically cheaper than the fully-loaded cost of cold-email meetings — and it filters for prospects willing to actually engage.&lt;/li&gt;
&lt;li&gt;For the &lt;strong&gt;recipient&lt;/strong&gt;, an unwanted interruption becomes funding for a cause they chose. Saying yes does good, literally.&lt;/li&gt;
&lt;li&gt;For the &lt;strong&gt;charity&lt;/strong&gt;, business development becomes a new donation stream.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cold email isn't dead — but it's drowning in its own volume. The next decade of outreach belongs to channels where the ask costs something. Try &lt;a href="https://donatalk.com" rel="noopener noreferrer"&gt;DonaTalk&lt;/a&gt; and turn your next 100 unanswered emails into one meeting that funds a charity.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
