In preparation for the RevenueCat Shipyard 2026 contest (Simon @BetterCreating brief), we executed a major architectural pivot from a web-based prototype to a native Android application.
- Removed Web Dependencies: Stripped out
dart:js_interopandpackage:webfrom audio services (AmbientSoundService,BinauralAudioService,AdvancedHypnoticAudioService). Replaced with stubbed implementations or native-compatible code to ensure Android compilation. - Audio Engine Update: Migrated
AmbientSoundServiceto useaudioplayerspackage for native mobile audio playback. - Backend Strategy: Switched
ApiServiceto "Mock Mode" by default for the MVP. This decouples the app from the local Python backend, allowing it to run standalone on Android usingSharedPreferencesfor persistence. - Gemini Streaming: Validated the direct HTTP streaming implementation for the chatbot, ensuring it works without a backend proxy for this hackathon build.
Implemented the core requirement of "browsing and sharing AI coaches":
- Data Model: Defined
Coachmodel withnlpType,systemPromptBase, andtone. - Coach Gallery: Built
CoachGalleryScreento browse available personas (MindFlow, The Reframer, The Clarifier, Simon, The Visualizer). - Personality Injection: Updated
NLPPromptBuilderto inject specific NLP instructions (Milton Model, Meta Model, VAK) based on the active coach. - State Management: Updated
ChatProviderandGeminiServiceto track the active coach context.
- Integration: Verified
RevenueCatServicesetup with Android API keys. - Gating: Implemented
PaywallTriggerlogic inCoachGalleryScreen. Users can chat with the default coach for free, but premium personas are locked behind the Pro subscription.
- Installed OpenJDK 17 via Winget.
- Configured Android SDK command-line tools.
- Generated Android project files via
flutter create . --platforms android. - Fixed
local.propertiesandAndroidManifest.xml.
- Final APK build and testing on device.
- Recording the demo video showcasing the Multi-Coach system.
- Submitting to Google Play Internal Testing.