1
0 Comments

$211 MRR — A customer complaint exposed that I was losing money on every scan

Hey IH! Week 3 update on Underpriced AI (snap a photo -> get instant resale pricing).

The numbers:

  • MRR: $211 (+19% from last week)
  • Active subscribers: 17
  • New customers this week: 8
  • Scans processed: 213
  • Monthly API spend: ~$110

The big discovery this week:

A customer emailed saying she couldn't buy more scans. Dug into the logs and found a trailing \n in our Stripe price ID environment variable. Every credit purchase had been broken for weeks. Silent failure — no one could buy scan packs.

But here's where it gets interesting. While auditing the billing, I checked our actual Claude API costs vs what our code was tracking:

Tracked cost per scan: $0.046
Actual cost per scan: ~$0.45

10x off. The culprit: Claude's web search feature. Each scan does 2-3 web searches to verify pricing. Each search result injects ~15K tokens of web content back into the conversation. Our cost tracker only counted input_tokens from the API response — which doesn't include cached tokens or web search result tokens.

The margin problem:

  • Pro plan: $9/mo for 45 scans
  • Cost if maxed: 45 x $0.45 = $20.25
  • That's a -$11 loss per heavy user

Most users don't max out (avg ~12 scans/mo = $5.40 cost vs $9-19 revenue). But any heavy user is underwater.

What I did:

  1. Reduced web searches from 3 to 2 per scan (~$18-20/mo savings)
  2. Fixed cost tracking to include cache_creation and cache_read tokens
  3. Now I can actually see real per-scan costs in the admin dashboard

Other wins this week:

  • Set up Stripe Customer Portal so users can self-serve downgrade (was only cancel before)
  • Built automated "try our cheaper plan" email that fires when Pro Plus/Business users cancel
  • Added back-swipe protection on mobile (user kept losing scan results)
  • Added "Recent Scans" section to dashboard (users confused about scans vs inventory)

Lesson: Your cost tracking is probably wrong. Don't trust the token counts from your AI provider's API response — check your actual billing dashboard and work backwards.

What's your experience with AI API cost surprises?

on March 19, 2026