Inspiration

Professional coaching costs $100-300/hour, putting it out of reach for most people. Meanwhile, AI chatbots exist but require prompt engineering skills to get quality coaching interactions. Simon's 200K+ productivity-focused audience constantly asks for personalized guidance they can't afford — so we built Open Coaches to bridge that gap.

What it does

Open Coaches is an iOS app that delivers curated, expert-designed AI coaches across 12 categories — fitness, career, finance, creativity, relationships, mindfulness, and more. Users can:

  • Browse 30+ pre-built coaches, each with deeply-crafted personas (400-800 word system prompts) that define personality, methodology, and communication style
  • Create custom coaches with personalized personas, AI tool selection (web search, code execution, browser automation), tunable AI parameters, and optional knowledge base documents
  • Chat in real-time with streaming AI responses, tool usage indicators, markdown rendering, and full conversation management
  • Discover community coaches through a public marketplace with likes, saves, and featured selections
  • Track usage through a real-time dashboard showing messages, tool usage, and quota status

How we built it

The app is built with Expo SDK 54 / React Native using TypeScript, with Expo Router v6 for navigation and Zustand for state management. The backend runs on Supabase (PostgreSQL with pgvector for RAG, Row Level Security, Edge Functions for AI orchestration, and Storage for documents).

RevenueCat SDK v9.7 powers the entire subscription system — from loading offerings and presenting the native purchase sheet, to real-time entitlement syncing and restore purchases support. The subscription tiers (Free, Starter, Pro, Elite) gate AI tools, model access, knowledge base capabilities, and coach publishing limits.

The AI architecture uses a multi-model orchestration system with a primary LLM for reasoning and a separate tool execution engine. Responses stream via SSE (Server-Sent Events) with a custom text-based fallback for iOS compatibility.

Challenges we ran into

  • React Native streaming on iOS: fetch().body.getReader() returns null on iOS/Android. We built a text-based SSE fallback that reads the full response then parses line-by-line.
  • RevenueCat + Apple agreements: Completing the Paid Apps Agreement (W-9, banking, EU compliance) was a multi-step process required before subscription products could be fetched from App Store Connect.
  • Edge Function deployment: The Supabase MCP deploy tool uploads raw source without bundling, so we had to build custom PostgREST/Auth API helpers instead of importing the Supabase JS client.
  • AI tool orchestration: Coordinating between the primary LLM's function calling and the tool execution engine required careful handling of tool call IDs, parallel execution, and result injection.

Accomplishments that we're proud of

  • A fully functional AI coaching platform with 30+ coaches, real-time streaming, and 4 AI tools
  • Clean RevenueCat integration with real-time entitlement syncing across app and database
  • Community features (marketplace, likes, saves, publishing) that create a flywheel effect
  • Knowledge base with RAG search that improves with each subscription tier
  • Creator analytics dashboard showing real engagement data per coach

What we learned

  • RevenueCat's SDK makes subscription management dramatically simpler than building it from scratch — the entitlement listener pattern is elegant
  • The gap between "AI API exists" and "useful AI product" is massive — curation and UX matter more than raw model capability
  • Mobile streaming requires platform-specific handling that web developers don't encounter
  • Designing subscription tiers is a product decision as much as a technical one — each tier needs clear, compelling value

What's next for Open Coaches

  • App Store launch and promotion through Simon's 200K+ audience
  • Android release for cross-platform reach
  • Creator marketplace with revenue sharing for top coach creators
  • Push notifications for coaching reminders and streak tracking
  • Annual subscriptions and A/B tested pricing via RevenueCat Experiments
  • Multi-creator storefronts so influencers can offer branded coach collections

Built With

Share this project:

Updates