◉RORK LABJP
●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SONNET 4.5 — Retires on the Claude API on 11/30, 27 days left. If your app calls it, check the migration target●SDK 58 — Moves to React Native 0.88. R8 is now on by default in Android release builds, and iOS prebuild generates a SceneDelegate●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SONNET 4.5 — Retires on the Claude API on 11/30, 27 days left. If your app calls it, check the migration target●SDK 58 — Moves to React Native 0.88. R8 is now on by default in Android release builds, and iOS prebuild generates a SceneDelegate●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…
Articles/AI Models
◉ AI Models/2026-04-11Intermediate

Monetizing a Rork AI App: Pricing Backwards from Your Cost of Goods

How to design pricing for a Rork-built AI app by starting from per-user API cost rather than revenue. Covers the margin math behind freemium, subscription and credit models, a RevenueCat paywall in Expo, graceful quota handling, and the five metrics worth checking weekly.

monetization48subscription28RevenueCat30App Store93Rork611indie development44

✦ Premium Article

There was a month where subscription revenue grew and the money left over did not.

RevenueCat showed MRR climbing. But once the Gemini API invoice and the App Store commission were subtracted, the increase had evaporated. I had been chasing revenue while quietly growing cost of goods at the same rate.

That is the thing that makes AI apps different from the ad-supported apps I built before. With a conventional app, one more user costs essentially nothing. With an AI app, every additional user carries a marginal cost — and your most enthusiastic users are the ones losing you money.

So pricing design has to start from the wrong end of the spreadsheet. Not "what can I charge?" but "what does one active user cost me per month?" What follows is how I work backwards from that number for Rork-built AI apps: the model comparison, the RevenueCat implementation, quota handling, and the metrics I actually check.

Measure per-user AI cost before you price anything

Before setting a price, find out what one active user consumes in API calls per month.

This is not hard to instrument. Log the model name, input and output token counts, and the user ID immediately before each AI call. In a Rork-generated app, the fastest route is a single wrapper function that every AI call passes through.

// lib/aiClient.ts — every AI call goes through here
type UsageLog = {
  userId: string;
  model: string;
  inputTokens: number;
  outputTokens: number;
  costUsd: number;
};
 
// Price per 1M tokens — replace with your actual model rates
const PRICE_PER_M = {
  'flash': { input: 0.075, output: 0.30 },
  'pro':   { input: 1.25,  output: 5.00 },
} as const;
 
export async function callAi(
  userId: string,
  model: keyof typeof PRICE_PER_M,
  prompt: string,
) {
  const res = await generate(model, prompt); // your actual SDK call
  const p = PRICE_PER_M[model];
  const costUsd =
    (res.inputTokens / 1_000_000) * p.input +
    (res.outputTokens / 1_000_000) * p.output;
 
  await recordUsage({
    userId,
    model,
    inputTokens: res.inputTokens,
    outputTokens: res.outputTokens,
    costUsd,
  } satisfies UsageLog);
 
  return res;
}

Why store this per call rather than per month? Because two later decisions — how you handle users who hit their quota, and how you detect churn risk — both read from this same table. A monthly invoice total tells you nothing about who spent it. Per-user data tends to reveal that the top 5% of users account for most of your cost.

After a week of logs, calculate the median and the 90th percentile of monthly cost among paying users. Those two numbers anchor your pricing. Price against the median and you go underwater in any month that attracts heavy users. Price against the 90th percentile and you are safe but expensive. In practice I land between the two, closer to the 90th.

Compare the three models by who absorbs cost volatility

There is no shortage of writing about freemium versus subscription versus usage-based pricing. For AI apps specifically, the clarifying question turned out to be simpler: whose problem is it when usage spikes?

Model Who absorbs cost volatility Best fit Typical gross margin
Freemium You — the entire free tier is out of pocket Cheap per-call work: resizing, short summaries 50–70%
Subscription You, unless you cap usage Predictable frequency; daily-habit apps 60–80%
Credits The user — they pay for what they consume Expensive per-call work: video, batch processing 75–85%

Those margin figures are net of both store commission (15% for most indie developers on the Small Business Program) and AI cost of goods.

I settled on a subscription base with credits layered on top for the expensive operations. Subscription alone let heavy users eat the margin; credits alone suppressed first-time conversion, because "I don't know what this will cost me" is a real psychological barrier. Selling the reassurance of a flat monthly rate, then metering only the operations that spike, covers both weaknesses.

Actual price points for AI apps are not unusual:

Tier Monthly (US) What it includes
Lite $4.99–$9.99 Higher limits on core features
Standard $9.99–$19.99 Full features, higher-quality model
Pro $29.99–$49.99 Business use, export, API access

Annual plans are usually priced at 50–60% of twelve monthly payments. Annual subscribers churn less and pay you sooner. One caveat specific to AI apps: you collect annual revenue up front but incur the cost over twelve months, so a strong annual month can flatter your cash position more than your margins deserve.

✦

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
✦The formula for real LTV after AI cost of goods, and the CAC ceiling it implies
✦RevenueCat + Expo code that degrades quality at quota instead of blocking the user
✦Five weekly metrics — including gross margin and ARPU-to-COGS ratio — with concrete thresholds
Secure payment via Stripe · Cancel anytime
✦

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • ✦Copy-paste ready implementation code
  • ✦New advanced guides published daily
  • ✦$5/mo or $10 for lifetime access
View Membership →

Related Articles

⟐ Business2026-04-14
Achieving $7,000/Month with Rork Max: A Complete Blueprint for Indie App Revenue
A systematic guide to building a $7,000/month indie app business with Rork Max — covering market selection, revenue model design, RevenueCat implementation, user acquisition, and KPI-driven optimization.
⟐ Business2026-05-15
Rebuilding a Live Wallpaper App with Rork Max: Measured Hours and Post-Relaunch Metrics
I rebuilt a wallpaper app that was already live using Rork Max, timing every stage. Measured hours per phase, the spec details the generated code got wrong, how existing subscribers were migrated safely, and 30-day post-relaunch metrics.
⟐ Business2026-04-20
From Rork Prompt to App Store Revenue: A Case Study
A practical record of taking a Rork app from planning through App Store review, launch, and revenue improvements: total costs, review pitfalls, and a stated-assumption estimate of ad revenue at 100 DAU.