<?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>Forem: Akshan</title>
    <description>The latest articles on Forem by Akshan (@akshan-main).</description>
    <link>https://forem.com/akshan-main</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3817225%2Fa53b2edf-1856-4ba4-bea4-97df5d25d47c.jpg</url>
      <title>Forem: Akshan</title>
      <link>https://forem.com/akshan-main</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/akshan-main"/>
    <language>en</language>
    <item>
      <title>Why Vibe-Coded Apps Fail to Make Money — And the 3 Technical Gaps Killing Revenue</title>
      <dc:creator>Akshan</dc:creator>
      <pubDate>Fri, 13 Mar 2026 07:18:37 +0000</pubDate>
      <link>https://forem.com/akshan-main/why-vibe-coded-apps-fail-to-make-money-and-the-3-technical-gaps-killing-revenue-19im</link>
      <guid>https://forem.com/akshan-main/why-vibe-coded-apps-fail-to-make-money-and-the-3-technical-gaps-killing-revenue-19im</guid>
      <description>&lt;h1&gt;
  
  
  Why Vibe-Coded Apps Fail to Make Money — And the 3 Technical Gaps Killing Revenue
&lt;/h1&gt;

&lt;p&gt;The vibe coding market was valued at $3.9 billion in 2024 and is projected to reach $37 billion by 2032 at a 32.5% CAGR. Lovable hit $100M+ in annualized revenue in eight months. 63% of vibe coding users are non-developers (&lt;a href="https://www.producthunt.com/p/vibecoding/the-state-of-vibe-coding-2025-key-takeaways" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;And yet, the dominant narrative of 2025 is: &lt;strong&gt;everyone is vibe coding, nobody is making money&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Mobile vibe coding apps struggle with low downloads despite the AI boom (&lt;a href="https://www.techbuzz.ai/articles/mobile-vibe-coding-apps-struggle-with-low-downloads-despite-ai-boom" rel="noopener noreferrer"&gt;Source&lt;/a&gt;). Vibe-coded apps face stagnant downloads and revenue, with underdeveloped subscription models creating a monetization Catch-22 (&lt;a href="https://www.ainvest.com/news/vibe-coding-apps-struggle-monetize-deep-dive-mobile-app-challenges-2509/" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;This isn't a product problem. It's a plumbing problem. AI can generate a functional app in minutes, but it consistently fails at three specific technical gaps in the subscription billing pipeline. Understanding these gaps — and knowing the fastest way to close them — is the difference between a side project and a business.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gap 1: Store Configuration Is Still Manual and Error-Prone
&lt;/h2&gt;

&lt;p&gt;AI coding tools are excellent at generating UI, writing business logic, and wiring up APIs. They are terrible at navigating App Store Connect, creating in-app purchase products, configuring subscription groups, and setting up sandbox testing environments.&lt;/p&gt;

&lt;p&gt;This is the first place vibe coders get stuck. The app works locally. The AI agent wrote the purchase code. But nothing happens when you tap "Subscribe" because the products don't exist in the store, the bundle IDs don't match, or the sandbox environment isn't configured.&lt;/p&gt;

&lt;h3&gt;
  
  
  How RevenueCat's MCP Server Closes This Gap
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://www.revenuecat.com/docs/tools/mcp" rel="noopener noreferrer"&gt;RevenueCat MCP Server&lt;/a&gt; enables AI assistants to manage subscription apps, products, entitlements, and everything in-between without requiring direct dashboard access. It provides 26 different capabilities for complete subscription management through natural language interactions (&lt;a href="https://www.revenuecat.com/docs/tools/mcp" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Instead of switching between an IDE and three different dashboards, a vibe coder tells their AI assistant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a monthly subscription product called "Pro Monthly" for my iOS app,
create an entitlement called "pro_access", and attach the product to it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The MCP server translates this into the correct API calls. Products, entitlements, and offerings are created in RevenueCat's backend, ready to use (&lt;a href="https://www.revenuecat.com/docs/tools/mcp/usage-examples" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The setup works across every major AI coding tool: Cursor and VS Code support OAuth authentication for seamless setup, while Claude Code, Claude Desktop, and OpenAI Codex CLI use API v2 secret key authentication (&lt;a href="https://www.revenuecat.com/docs/tools/mcp/setup" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Critical detail:&lt;/strong&gt; Every new RevenueCat project comes with a &lt;strong&gt;Test Store&lt;/strong&gt; automatically configured. Test Store purchases work immediately without any additional setup, behave just like real subscriptions, and no real money is charged (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;). This means a vibe coder can test their entire subscription flow before ever touching App Store Connect.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gap 2: Paywall Implementation Requires Design and UX Skills
&lt;/h2&gt;

&lt;p&gt;The second gap hits after the subscription products are configured. Vibe coders need a paywall — the screen that convinces users to pay. AI agents can generate a basic paywall UI, but the result is almost always a static, un-optimized screen that can't be updated without shipping a new app version.&lt;/p&gt;

&lt;p&gt;Conversion-optimized paywalls require A/B testing, dynamic pricing display, localization, and the ability to iterate quickly based on data. These are skills that even experienced developers outsource to specialized tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  RevenueCat's Solution: Remote Paywalls
&lt;/h3&gt;

&lt;p&gt;RevenueCat provides customizable paywall templates that can be configured remotely — no app update required (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;). The SDK automatically fetches configured Offerings and retrieves product information from the Test Store or connected stores.&lt;/p&gt;

&lt;p&gt;The paywall includes a built-in "Restore Purchases" button, which Apple requires in the event a user loses access to their purchases (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;). This is a compliance detail that vibe coders almost universally forget, and it leads to App Store rejections.&lt;/p&gt;

&lt;p&gt;For vibe coders using AI agents, the integration pattern is straightforward: install the SDK, initialize with a public API key, and present the paywall. The SDK handles receipt validation, subscription status management, and cross-platform sync automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Entitlement Pattern
&lt;/h3&gt;

&lt;p&gt;Checking whether a user has paid is the most fundamental operation in a subscription app. RevenueCat reduces this to a single check:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The SDK makes it easy to check what active subscriptions the current customer has by checking a user's CustomerInfo object to see if a specific Entitlement is active. This method pulls from cache and runs very fast (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No server code. No receipt validation logic. No database of purchase records. Just: "Does this user have &lt;code&gt;pro_access&lt;/code&gt;? Yes or no."&lt;/p&gt;

&lt;h2&gt;
  
  
  Gap 3: App Store Economics Make Small Apps Unviable
&lt;/h2&gt;

&lt;p&gt;The third gap is economic, not technical. Apple takes 30% (or 15% for small businesses). Google takes 15-30%. For a vibe-coded app with modest revenue, these commission rates can make the unit economics impossible — especially when combined with hosting costs, API fees for AI features, and RevenueCat's own usage-based pricing.&lt;/p&gt;

&lt;p&gt;This is the gap that the April 2025 U.S. District Court ruling directly addresses.&lt;/p&gt;

&lt;h3&gt;
  
  
  Web Billing: Keep 97% Instead of 70%
&lt;/h3&gt;

&lt;p&gt;A recent U.S. District Court ruling found Apple in violation of a 2021 injunction meant to allow developers to direct users to external payment options, like Web Billing. iOS developers are now permitted to guide users to web-based payment flows without additional Apple fees or restrictive design requirements (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;RevenueCat Web Billing&lt;/a&gt; provides a complete web billing infrastructure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web SDK&lt;/strong&gt; for dynamic web apps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Purchase Links&lt;/strong&gt; for no-code payment collection from emails, social media, or landing pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Purchase Button&lt;/strong&gt; to link to web checkout from inside your iOS app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redemption Links&lt;/strong&gt; for anonymous users to purchase on web and redeem in-app&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The fee structure comparison is decisive:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Channel&lt;/th&gt;
&lt;th&gt;Commission&lt;/th&gt;
&lt;th&gt;Payment Processing&lt;/th&gt;
&lt;th&gt;Total Cost&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;App Store&lt;/td&gt;
&lt;td&gt;30% (or 15%)&lt;/td&gt;
&lt;td&gt;Included&lt;/td&gt;
&lt;td&gt;15-30%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Play&lt;/td&gt;
&lt;td&gt;15-30%&lt;/td&gt;
&lt;td&gt;Included&lt;/td&gt;
&lt;td&gt;15-30%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RevenueCat Web Billing&lt;/td&gt;
&lt;td&gt;0% platform fee&lt;/td&gt;
&lt;td&gt;Stripe: 2.9% + 30¢&lt;/td&gt;
&lt;td&gt;~3%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;RevenueCat Web is included in RevenueCat's pricing — there are no additional RevenueCat fees to support subscriptions and purchases on the web (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Web purchases sync with the same entitlements on mobile. A user who subscribes via a Web Purchase Link gets immediate access in the iOS and Android apps, with no additional integration work (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  The Evidence: It's Already Working
&lt;/h2&gt;

&lt;p&gt;The data suggests that the vibe coding community is already converging on RevenueCat as the default subscription infrastructure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RevenueCat powers in-app purchases for &lt;strong&gt;more than 50% of all AI-built iOS apps&lt;/strong&gt; (&lt;a href="https://www.techbuzz.ai/articles/mobile-vibe-coding-apps-struggle-with-low-downloads-despite-ai-boom" rel="noopener noreferrer"&gt;Source&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;AI-referred signups surged to &lt;strong&gt;over 35% of all new RevenueCat customers&lt;/strong&gt; in Q2 2025, up from below 5% in Q2 2024 (&lt;a href="https://www.techbuzz.ai/articles/mobile-vibe-coding-apps-struggle-with-low-downloads-despite-ai-boom" rel="noopener noreferrer"&gt;Source&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;In the Facebook "Vibe Coding is Life" community, a developer reported switching from &lt;code&gt;react-native-iap&lt;/code&gt; to RevenueCat and completing subscription integration in "just two prompts" (&lt;a href="https://www.facebook.com/groups/vibecodinglife/posts/1837882933466902/" rel="noopener noreferrer"&gt;Source&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn't accidental. RevenueCat's MCP server, combined with its pre-built paywalls and Test Store, creates a workflow where an AI agent can configure, implement, and test subscriptions without the developer leaving their IDE.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 30-Minute Monetization Path
&lt;/h2&gt;

&lt;p&gt;For vibe coders reading this, here's the actionable sequence:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minutes 1-5:&lt;/strong&gt; Sign up for RevenueCat, get your API keys, and add the &lt;a href="https://www.revenuecat.com/docs/tools/mcp/setup" rel="noopener noreferrer"&gt;MCP server&lt;/a&gt; to your AI coding tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minutes 5-15:&lt;/strong&gt; Use natural language to configure your products, entitlements, and offerings through the MCP server. Test with the built-in Test Store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minutes 15-25:&lt;/strong&gt; Tell your AI agent to integrate the RevenueCat SDK, present a paywall, and gate features behind your entitlement. The &lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;SDK Quickstart&lt;/a&gt; provides the exact code patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minutes 25-30:&lt;/strong&gt; Set up &lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Web Purchase Links&lt;/a&gt; for web billing. Share the link on your landing page, email list, or social media.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; A live subscription business with server-validated purchases, cross-platform entitlements, remote paywall configuration, and a web billing channel that keeps 97% of revenue.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bigger Picture
&lt;/h2&gt;

&lt;p&gt;The vibe coding monetization gap isn't permanent. It exists because AI coding tools are ahead of AI billing tools — they can build faster than they can monetize. RevenueCat's MCP server is the first subscription platform that speaks the same language as the AI tools building the apps, and Web Billing removes the economic barrier that makes small subscription apps unviable.&lt;/p&gt;

&lt;p&gt;For the 63% of vibe coders who aren't traditional developers, the path from "working app" to "making money" just dropped from weeks to minutes.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/tools/mcp" rel="noopener noreferrer"&gt;RevenueCat MCP Server Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/tools/mcp/setup" rel="noopener noreferrer"&gt;RevenueCat MCP Setup Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/tools/mcp/usage-examples" rel="noopener noreferrer"&gt;RevenueCat MCP Usage Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;RevenueCat SDK Quickstart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;RevenueCat Web Billing Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.techbuzz.ai/articles/mobile-vibe-coding-apps-struggle-with-low-downloads-despite-ai-boom" rel="noopener noreferrer"&gt;TechBuzz: Mobile Vibe Coding Apps Struggle Despite AI Boom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ainvest.com/news/vibe-coding-apps-struggle-monetize-deep-dive-mobile-app-challenges-2509/" rel="noopener noreferrer"&gt;AInvest: Why Vibe Coding Apps Struggle to Monetize&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.producthunt.com/p/vibecoding/the-state-of-vibe-coding-2025-key-takeaways" rel="noopener noreferrer"&gt;State of Vibe Coding 2025 - Product Hunt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.facebook.com/groups/vibecodinglife/posts/1837882933466902/" rel="noopener noreferrer"&gt;Facebook: Vibe Coding is Life Community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tutorial</category>
      <category>mobile</category>
      <category>saas</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Vibe Coder's Monetization Playbook: From AI-Built App to Live Subscriptions in 30 Minutes</title>
      <dc:creator>Akshan</dc:creator>
      <pubDate>Tue, 10 Mar 2026 20:57:59 +0000</pubDate>
      <link>https://forem.com/akshan-main/the-vibe-coders-monetization-playbook-from-ai-built-app-to-live-subscriptions-in-30-minutes-3cfb</link>
      <guid>https://forem.com/akshan-main/the-vibe-coders-monetization-playbook-from-ai-built-app-to-live-subscriptions-in-30-minutes-3cfb</guid>
      <description>&lt;h1&gt;
  
  
  The Vibe Coder's Monetization Playbook: From AI-Built App to Live Subscriptions in 30 Minutes
&lt;/h1&gt;

&lt;p&gt;You built an app in an afternoon with Cursor, Claude Code, or Lovable. It works. Users are signing up. Now comes the hard part: getting paid.&lt;/p&gt;

&lt;p&gt;This is the exact moment where most vibe-coded apps die. RevenueCat now powers in-app purchases for over 50% of all AI-built iOS apps (&lt;a href="https://www.techbuzz.ai/articles/mobile-vibe-coding-apps-struggle-with-low-downloads-despite-ai-boom" rel="noopener noreferrer"&gt;Source&lt;/a&gt;), and AI-referred signups surged to over 35% of all new RevenueCat customers in Q2 2025. That means thousands of vibe coders have already solved this problem — and this playbook shows you exactly how.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Monetization Gap Is Real
&lt;/h2&gt;

&lt;p&gt;The data is stark. According to multiple 2025 analyses, vibe-coded apps struggle with monetization despite the AI coding boom (&lt;a href="https://www.ainvest.com/news/vibe-coding-apps-struggle-monetize-deep-dive-mobile-app-challenges-2509/" rel="noopener noreferrer"&gt;Source&lt;/a&gt;). The State of Vibe Coding 2025 report found that 63% of vibe coding users are non-developers (&lt;a href="https://www.producthunt.com/p/vibecoding/the-state-of-vibe-coding-2025-key-takeaways" rel="noopener noreferrer"&gt;Source&lt;/a&gt;). These creators can build functional apps but often lack the experience to implement subscription billing, configure App Store products, or set up entitlement logic.&lt;/p&gt;

&lt;p&gt;RevenueCat eliminates this gap with three tools that work together:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The MCP Server&lt;/strong&gt; — Configure your entire subscription backend using natural language in your AI coding tool&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paywalls&lt;/strong&gt; — Drop in pre-built, customizable paywall UI with zero design work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Billing&lt;/strong&gt; — Sell subscriptions on the web and avoid the App Store's 30% cut (for eligible U.S. users)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Phase 1: Set Up RevenueCat MCP in Your AI Coding Tool (5 Minutes)
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://www.revenuecat.com/docs/tools/mcp" rel="noopener noreferrer"&gt;RevenueCat MCP Server&lt;/a&gt; enables AI assistants to manage subscription apps, products, entitlements, and everything in-between without requiring direct dashboard access. It provides 26 different capabilities for complete subscription management through natural language interactions (&lt;a href="https://www.revenuecat.com/docs/tools/mcp" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  For Cursor Users
&lt;/h3&gt;

&lt;p&gt;Add RevenueCat MCP to your project's &lt;code&gt;mcp.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"servers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"revenuecat"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcp.revenuecat.ai/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"headers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Bearer {your API v2 token}"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cursor supports OAuth authentication, meaning you can authenticate seamlessly without managing API keys manually (&lt;a href="https://www.revenuecat.com/docs/tools/mcp/setup" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  For Claude Code Users
&lt;/h3&gt;

&lt;p&gt;Add the server via the CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http revenuecat https://mcp.revenuecat.ai/mcp &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer YOUR_API_V2_SECRET_KEY"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  For VS Code Copilot Users
&lt;/h3&gt;

&lt;p&gt;Add to your VS Code &lt;code&gt;mcp.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"servers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"revenuecat-mcp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcp.revenuecat.ai/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"inputs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;VS Code also supports OAuth authentication for seamless setup (&lt;a href="https://www.revenuecat.com/docs/tools/mcp/setup" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting Your API Key
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open your &lt;a href="https://app.revenuecat.com/" rel="noopener noreferrer"&gt;RevenueCat dashboard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to your project's &lt;strong&gt;API Keys&lt;/strong&gt; page&lt;/li&gt;
&lt;li&gt;Create a new API v2 secret key and copy it&lt;/li&gt;
&lt;li&gt;Use a &lt;strong&gt;write-enabled key&lt;/strong&gt; if you plan to create/modify resources (&lt;a href="https://www.revenuecat.com/docs/tools/mcp/setup" rel="noopener noreferrer"&gt;Source&lt;/a&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; Every new RevenueCat project comes with a &lt;strong&gt;Test Store&lt;/strong&gt; automatically configured, so you can start immediately without connecting to Apple or Google (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Phase 2: Configure Your Subscription Products with Natural Language (10 Minutes)
&lt;/h2&gt;

&lt;p&gt;This is where the magic happens. Instead of navigating dashboards and reading documentation about product configuration, you talk to your AI assistant.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.revenuecat.com/docs/tools/mcp/usage-examples" rel="noopener noreferrer"&gt;MCP usage examples&lt;/a&gt; show how natural language maps to RevenueCat operations (&lt;a href="https://www.revenuecat.com/docs/tools/mcp/usage-examples" rel="noopener noreferrer"&gt;Source&lt;/a&gt;):&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create Your App
&lt;/h3&gt;

&lt;p&gt;Tell your AI assistant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a new iOS app called "My Awesome App" with bundle ID com.mycompany.awesomeapp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Create Subscription Products
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a monthly subscription product called "Pro Monthly" priced at $9.99 for my iOS app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create an annual subscription product called "Pro Annual" priced at $79.99 for my iOS app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Create Entitlements
&lt;/h3&gt;

&lt;p&gt;Entitlements define what your users unlock when they pay:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create an entitlement called "pro_access" with display name "Pro Access"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: Wire Products to Entitlements
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Attach the Pro Monthly and Pro Annual products to the pro_access entitlement
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 5: Create an Offering
&lt;/h3&gt;

&lt;p&gt;Offerings organize your products for display:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a new offering called "default" and add packages for monthly and annual subscriptions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 6: Verify Everything
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Show me the complete configuration for my default offering including all packages and their attached products
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can perform all of these operations in sequence with a single batch prompt (&lt;a href="https://www.revenuecat.com/docs/tools/mcp/usage-examples" rel="noopener noreferrer"&gt;Source&lt;/a&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a new iOS app called "My Awesome App", then create monthly and annual 
subscription products, create an entitlement called "pro_access", and attach 
both products to it. Finally, create an offering with packages for both.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Phase 3: Add the SDK and Paywall to Your App (10 Minutes)
&lt;/h2&gt;

&lt;p&gt;Now tell your AI coding agent to integrate RevenueCat into your app. Here's the pattern that works:&lt;/p&gt;

&lt;h3&gt;
  
  
  The Prompt That Works
&lt;/h3&gt;

&lt;p&gt;Give your AI assistant this context:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I need to add RevenueCat subscriptions to my app. Here's what I need:

1. Install the RevenueCat SDK (use the latest version)
2. Initialize Purchases with my public API key on app launch
3. Add a paywall using RevenueCat's pre-built paywall UI
4. Gate my premium features behind the "pro_access" entitlement
5. Add a restore purchases button

My public API key is: [YOUR_PUBLIC_KEY]
My entitlement identifier is: "pro_access"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What the SDK Does
&lt;/h3&gt;

&lt;p&gt;The RevenueCat SDK seamlessly implements purchases and subscriptions across platforms while syncing tokens with the RevenueCat server. The SDK will automatically fetch your configured Offerings and retrieve product information (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Checking Subscription Status
&lt;/h3&gt;

&lt;p&gt;The core pattern for gating content is checking &lt;code&gt;CustomerInfo&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Check if the current user has an active "pro_access" entitlement.
If they do, show the premium content.
If not, present the paywall.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The SDK makes it easy to check what active subscriptions the current customer has by checking a user's &lt;code&gt;CustomerInfo&lt;/code&gt; object to see if a specific Entitlement is active. This method pulls from cache and runs very fast (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Pre-Built Paywalls
&lt;/h3&gt;

&lt;p&gt;RevenueCat provides customizable paywall templates that you can configure remotely — no app update required. See &lt;a href="https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls" rel="noopener noreferrer"&gt;Creating Paywalls&lt;/a&gt; to design your paywall, then &lt;a href="https://www.revenuecat.com/docs/tools/paywalls/displaying-paywalls" rel="noopener noreferrer"&gt;Displaying Paywalls&lt;/a&gt; for platform-specific implementation (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The paywall includes a built-in "Restore Purchases" button, which Apple requires in the event a user loses access to their purchases (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Phase 4: Add Web Billing to Keep More Revenue (5 Minutes)
&lt;/h2&gt;

&lt;p&gt;Here's the move most vibe coders miss: &lt;strong&gt;you can sell subscriptions on the web and avoid the App Store's 30% commission&lt;/strong&gt; for eligible U.S. users.&lt;/p&gt;

&lt;p&gt;In April 2025, a U.S. District Court ruling found Apple in violation of a 2021 injunction meant to allow developers to direct users to external payment options, like Web Billing. iOS developers are now permitted to guide users to web-based payment flows without additional Apple fees or restrictive design requirements (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  RevenueCat Web Billing Features
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;RevenueCat Web Billing&lt;/a&gt; provides (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web SDK:&lt;/strong&gt; A JavaScript SDK to integrate web purchases into your web app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Purchase Links:&lt;/strong&gt; A hosted, customizable purchase flow — enable web purchases with no code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Purchase Button:&lt;/strong&gt; Link to a web checkout from in-app (app to web)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Paywalls:&lt;/strong&gt; Component-based dynamic paywalls, rendered on the web&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redemption Links:&lt;/strong&gt; Let anonymous users purchase on the web and redeem in-app via deep linking&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The No-Code Option: Web Purchase Links
&lt;/h3&gt;

&lt;p&gt;If you don't have a web app, Web Purchase Links give you a hosted, customizable purchase flow that you can distribute from emails, social media, or a landing page (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;). This is perfect for vibe coders who want to start collecting payments immediately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fee Comparison
&lt;/h3&gt;

&lt;p&gt;RevenueCat Web is included in RevenueCat's pricing — there are no additional RevenueCat fees for web subscriptions. The only additional cost is the Stripe transaction fee (2.9% + 30¢), compared to Apple's 30% or Google's 15-30% (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's a 27% revenue increase on every web subscription.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cross-Platform Entitlements
&lt;/h3&gt;

&lt;p&gt;The best part: web purchases sync with the same entitlements on mobile. A user who buys on the web gets instant access in your iOS and Android apps. RevenueCat Web provides tools that allow you to easily start selling subscriptions on the web, and connect them with the same subscriptions and entitlements on mobile (&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Phase 5: Test and Launch (5 Minutes)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Test with the Built-In Test Store
&lt;/h3&gt;

&lt;p&gt;Every new RevenueCat project comes with a Test Store. Test Store purchases work immediately without any additional setup, behave just like real subscriptions, and no real money is charged (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Verify in the Dashboard
&lt;/h3&gt;

&lt;p&gt;When a purchase is complete, you can find it associated with the customer in the RevenueCat dashboard. RevenueCat always validates transactions — Test Store purchases are validated by RevenueCat; real store purchases are validated by the respective platform (&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;Source&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Go Live Checklist
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Products configured in RevenueCat (via MCP or dashboard)&lt;/li&gt;
&lt;li&gt;[ ] SDK initialized with public API key&lt;/li&gt;
&lt;li&gt;[ ] Paywall displaying correct offerings&lt;/li&gt;
&lt;li&gt;[ ] Entitlement checks gating premium features&lt;/li&gt;
&lt;li&gt;[ ] Restore purchases working&lt;/li&gt;
&lt;li&gt;[ ] Web Billing configured (optional but recommended)&lt;/li&gt;
&lt;li&gt;[ ] Real store products created in App Store Connect / Google Play Console&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What You Just Built
&lt;/h2&gt;

&lt;p&gt;In roughly 30 minutes, you've gone from a vibe-coded app to a fully functioning subscription business with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Server-side receipt validation&lt;/strong&gt; — no server code required&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-platform subscription management&lt;/strong&gt; — iOS, Android, and web&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pre-built paywall UI&lt;/strong&gt; — remotely configurable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web billing&lt;/strong&gt; — keep 97% of revenue instead of 70%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics and metrics&lt;/strong&gt; — MRR, churn, LTV out of the box&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RevenueCat handles the subscription infrastructure so you can stay focused on your idea. That's the same pattern that's powering over 50% of AI-built iOS apps today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A/B test your paywall:&lt;/strong&gt; Use &lt;a href="https://www.revenuecat.com/docs/tools/experiments-v1/experiments-overview-v1" rel="noopener noreferrer"&gt;RevenueCat Experiments&lt;/a&gt; to test different pricing, designs, and copy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set up integrations:&lt;/strong&gt; Connect &lt;a href="https://www.revenuecat.com/docs/integrations/integrations" rel="noopener noreferrer"&gt;analytics tools&lt;/a&gt; like Amplitude, Mixpanel, or PostHog&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Track your metrics:&lt;/strong&gt; Use &lt;a href="https://www.revenuecat.com/docs/dashboard-and-metrics/charts" rel="noopener noreferrer"&gt;RevenueCat Charts&lt;/a&gt; to monitor MRR, churn, and subscriber lifecycle&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimize conversion:&lt;/strong&gt; Read the &lt;a href="https://www.revenuecat.com/state-of-subscription-apps-2025/" rel="noopener noreferrer"&gt;State of Subscription Apps 2025&lt;/a&gt; for benchmark data&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/tools/mcp" rel="noopener noreferrer"&gt;RevenueCat MCP Server Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/tools/mcp/setup" rel="noopener noreferrer"&gt;RevenueCat MCP Setup Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/tools/mcp/usage-examples" rel="noopener noreferrer"&gt;RevenueCat MCP Usage Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/getting-started/quickstart" rel="noopener noreferrer"&gt;RevenueCat SDK Quickstart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.revenuecat.com/docs/web/web-billing/overview" rel="noopener noreferrer"&gt;RevenueCat Web Billing Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.techbuzz.ai/articles/mobile-vibe-coding-apps-struggle-with-low-downloads-despite-ai-boom" rel="noopener noreferrer"&gt;TechBuzz: RevenueCat Powers 50%+ of AI-Built iOS Apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ainvest.com/news/vibe-coding-apps-struggle-monetize-deep-dive-mobile-app-challenges-2509/" rel="noopener noreferrer"&gt;AInvest: Why Vibe Coding Apps Struggle to Monetize&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.producthunt.com/p/vibecoding/the-state-of-vibe-coding-2025-key-takeaways" rel="noopener noreferrer"&gt;State of Vibe Coding 2025 - Product Hunt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tutorial</category>
      <category>mobile</category>
      <category>ios</category>
      <category>saas</category>
    </item>
  </channel>
</rss>
