Machine-translated draft — terminology + flow still being reviewed.

Keel pricing

Status: v0 draft. Pricing will be adjusted after the initial internal beta gives us real build-volume + Update MAU distribution.


Starting point

Keel is a dev tool — a developer-workflow product. Unlike Appunvs, which must ship an iOS app and eat the IAP cut, Keel goes primarily through web signup + WeChat Pay / Alipay at 0.6% fees; channel economics are much cleaner.

Anchors:

  • EAS Pro $19/mo ≈ ¥135 → the domestic paid ceiling is too high
  • EAS Free (30 builds/mo, 1k Update MAU) — learn from its tier structure
  • Domestic dev-tool anchors: Feishu membership ¥39 / WPS ¥48 / Aliyun ECS starting ¥99 / GitHub Copilot $10
  • Keel Pro ¥48 = the Feishu / WPS price band; ¥/year = ¥488 (two months off)

Three tiers (draft)

TierMonthlyBuilds / moUpdate MAU / mo5 first-class native modulesPrivate projectsTeam seatsSubmit pipelineSLA
Free¥030 (Linux only)1,000✅ AllPublic projects (OSS)1Manual
Pro¥48 (annual ¥488)100 (incl. macOS for iOS)50,000✅ AllUnlimited1iOS + AndroidTicket 24h
Team¥298 / seat / moUnlimited200,000✅ AllUnlimitedUnlimited+ 5 Chinese Android storesTicket 4h
EnterpriseCustomUnlimited + private build clusterUnlimited+ custom module reviewUnlimited + on-premUnlimitedAll platformsSLA contract

Billing dimensions

Same approach as EAS — three orthogonal hard-walled dimensions:

1. Build — per invocation

Each keel build counts once. Failed builds also count (they consume machine time).

  • Average cost (v0 estimate): iOS build ~5–10 min ECI time ≈ ¥0.30–0.60 / build; Android ~3–5 min ≈ ¥0.20 / build; web ~1 min ≈ ¥0.05 / build
  • The user pays not the direct cost — that’s marked up + amortized to cover queue scheduling / storage / “subsidy” for free users

2. Update MAU — per monthly active client

A client that hits the manifest endpoint at least once in a month counts as one MAU.

  • Aliyun OSS + CDN actual cost (GB egress ¥0.40 + request count ¥0.001/10k) is very low; Update’s real cost is bandwidth — primarily bundle size × MAU
  • Assume 5 MB per bundle, 50k MAU: 250 GB egress = ¥100/mo → Pro ¥48 leaves thin but real margins after amortizing
  • Heavy users → Team ¥298 + 200k MAU quota matches the real cost curve

3. Submit quota — unlimited count but complexity-aware

  • iOS Submit: each consumes 0.x of an Apple App Store Connect submission slot (account-bound, not shared)
  • Android Submit: each goes through that market’s API credentials (user-provided / Keel-managed)
  • Failed / re-submits don’t double-count

Orthogonal pricing vs Appunvs / Mortar

Three products bill independently — no bundle, no offset:

User scenarioReal monthly cost
Standalone Keel Pro¥48
Standalone Mortar Tiny tier (small SaaS)¥0 (Mortar bundles ¥99 free credit)
Standalone Appunvs Pro¥30 domestic / ¥48 iOS
All three (recommended combo)¥30 + ¥48 + ¥0 = ¥78/mo — 4–5× cheaper than a leading web builder’s Pro $25 + Cloud $25 = $50 ≈ ¥350

Why no bundle (same logic as Appunvs ↔ Mortar):

  • Each product has independent, non-overlapping customer segments
  • Bundles add sales complexity
  • Users intuitively see “my app-building tool” / “my app’s backend” / “my app’s runtime” as three things

Things NOT to do

  • Direct USD-to-CNY conversion ($19 → ¥135): paywall too high; domestic RN devs won’t pay
  • Individual free + commercial jump to ¥298 (v0 → Team): skipping Pro loses ~80% of individual paying users
  • Unlimited builds: Bolt got bitten early; 30/Free + 100/Pro is a fair split
  • Update billed by MB: user decision granularity is MAU, not bandwidth
  • Force IAP: Keel is a dev tool with no iOS app (@keel-ai/cli is an npm package); no Apple IAP issue. Users just sign up + pay on the web
  • Bundle “everything” with Appunvs / Mortar: each product has independent, non-overlapping customers

Rollout cadence

PhaseStatusScope
Phase AInitial internal betaFree + Pro tiers; closed beta; build quota hard wall + Update MAU monitored (no hard wall)
Phase BEarlyUpdate MAU hard wall too; WeChat Pay / Alipay subscription integration
Phase CMid-roadmapTeam tier opens; B2B invoice workflow integration
Phase DLaterEnterprise quoting + private-deploy SKU

Implementation complexity

ModuleCurrentNeeded for launch
Build counterInternal sandbox running = Appunvs internal quota not enforcedAdd keel_users.builds_this_month field + pre-build gate
Update MAU counterNo Update yetManifest endpoint writes hit table (namespace + device_id + month)
Stripe / WeChat Pay / AlipayNot integratedWeChat Pay first (highest dev-segment coverage), Alipay added later
Cross-product SSONot doneAppunvs / Mortar / Keel share account (later)

Instrumentation to drive pricing changes (mandatory at launch)

  • Per-tier builds/mo distribution (does Free 30 / Pro 100 fit?)
  • Ratio of users hitting Update MAU 1k / 50k / 200k caps
  • Free → Pro conversion triggers (which dimension caused the upgrade — build count, Update MAU, private projects?)
  • Churn: Pro → Free downgrade reasons (don’t need it / too expensive / moved to Expo / moved to native)