https://github.com/apoorvdarshan/scowld
đĻĢ Open-source iOS AI companion with a live VRM avatar that sees you â bring-your-own-key chat, vision, speech-to-text & text-to-speech (OpenAI, Anthropic, Gemini, ElevenLabs, Groq & more). SwiftUI.
https://github.com/apoorvdarshan/scowld
ai ai-assistant ai-companion anthropic assistant byok chatbot computer-vision elevenlabs gemini ios llm multimodal openai speech-to-text swift swiftui text-to-speech voice-assistant vrm
Last synced: 21 days ago
JSON representation
đĻĢ Open-source iOS AI companion with a live VRM avatar that sees you â bring-your-own-key chat, vision, speech-to-text & text-to-speech (OpenAI, Anthropic, Gemini, ElevenLabs, Groq & more). SwiftUI.
- Host: GitHub
- URL: https://github.com/apoorvdarshan/scowld
- Owner: apoorvdarshan
- License: mit
- Created: 2026-03-14T05:00:54.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-06-09T20:05:30.000Z (about 1 month ago)
- Last Synced: 2026-06-09T20:22:05.368Z (about 1 month ago)
- Topics: ai, ai-assistant, ai-companion, anthropic, assistant, byok, chatbot, computer-vision, elevenlabs, gemini, ios, llm, multimodal, openai, speech-to-text, swift, swiftui, text-to-speech, voice-assistant, vrm
- Language: Swift
- Homepage: https://scowld.xyz
- Size: 333 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
Scowld
An iOS AI voice companion with an animated character, hands-free wake mode, bring-your-own-key AI providers, speech-to-text, ElevenLabs text-to-speech, vision, and saved conversations.
## Status
This is the open-source repository for the Scowld iOS app and the marketing website at [scowld.xyz](https://scowld.xyz). Contributions are welcome â see [CONTRIBUTING.md](CONTRIBUTING.md) and [SECURITY.md](SECURITY.md).
## Features
- **Animated companion** - VRM character rendering through the bundled Amica/Arbius frontend, with lip sync, idle animations, and expressions.
- **Voice and text chat** - Send typed messages or voice input from the iOS composer.
- **Hands-free wake mode** - When enabled, the app listens on device for Bella or the saved custom companion name to start voice recording.
- **Home tips** - A top-right info button explains the wake phrases and composer controls.
- **BYOK AI providers** - Gemini, OpenAI, Claude, Ollama, Groq, OpenRouter, xAI, Together AI, Hugging Face, Venice AI, and Moonshot AI.
- **BYOK speech-to-text** - Native iOS speech, OpenAI Whisper, Groq Whisper, Deepgram, AssemblyAI, Google Cloud STT, browser Whisper, or text-only mode.
- **BYOK text-to-speech** - ElevenLabs (Celine, Claire, bundled voice presets, custom voice IDs, model selection, and bundled local voice previews) and OpenAI voices.
- **Vision** - Optional front-camera context can be sent to the AI when enabled.
- **Past chats** - Conversations are saved locally and can be selected as context for future replies.
- **Character settings** - Avatar, custom name, and system prompt controls.
- **Multilingual speech settings** - Defaults to the iPhone language, with supported language overrides.
- **Local key storage** - Provider API keys are stored in iOS Keychain; provider/model choices are stored in local preferences.
- **Startup onboarding** - Local videos, rating prompt, and offline Privacy/Terms acceptance.
- **About actions** - Update check, What's New, rating, Star on GitHub, share, Product Hunt, report an issue or request a feature via GitHub Issues, contact, LinkedIn, Instagram, X, privacy, and terms.
## Repo Structure
```
ios/ - iOS app (open ios/Scowld.xcodeproj in Xcode)
web/ - Next.js marketing website
assets/ - README assets
APPSTORE.md - App Store Connect copy
```
## Architecture
```
Native iOS (Swift/SwiftUI)
âââ HomeView - Main chat UI and WKWebView bridge
âââ HomeTipsSheet - In-app guide for wake phrases and composer controls
âââ CloudSTTProvider - Native/cloud speech-to-text providers
âââ AI providers - BYOK Gemini, OpenAI, Claude, Ollama, and OpenAI-compatible clients
âââ MemoryStore - Local CoreData chat history and selected chat context
âââ SettingsView - BYOK AI/STT/TTS, voice, language, avatar, and prompt settings
âââ AboutView - App actions, update check, links, and support
WKWebView (bundled Amica/Arbius frontend)
âââ Three.js + three-vrm - 3D avatar rendering
âââ VRMA animations - Idle, gesture, and lip sync animation support
âââ AudioContext - TTS audio playback
âââ Native bridge - JavaScript to Swift message passing
Vercel / Next.js website
âââ Marketing, privacy, and terms pages only
```
## Requirements
- iOS 17.0+
- Xcode 16+
- Node.js for the website
- No Vercel environment variables are required for app AI, speech, or billing services.
- Users bring their own provider API keys inside the iOS app.
## Monetization
Scowld 2.0 removes subscriptions, Billing, StoreKit purchases, paywalls, voice credits, and extra credit packs.
Users are responsible for provider accounts, API keys, provider billing, rate limits, and acceptable use policies for the AI, speech-to-text, and text-to-speech providers they configure.
## Setup
### iOS App
1. Open the Xcode project.
```bash
open ios/Scowld.xcodeproj
```
2. Select the Scowld scheme and your device.
3. Build and run from Xcode.
4. Add provider API keys in Settings after launch.
### Website
```bash
cd web
npm install
npm run dev
```
Next.js runs at `http://localhost:3000`.
### Website Environment Variables
The website does not require hosted AI, speech, or billing environment variables.
See [web/.env.example](web/.env.example) for defaults.
## Privacy Model
- Provider API keys are entered by the user and stored in iOS Keychain.
- Provider/model choices are stored locally in app preferences.
- Chat history and selected chat context are stored locally on device.
- Voice audio, prompt text, optional image context, and generated speech text are sent directly to the providers configured by the user.
- Hands-free wake detection is processed on device while the app is open and idle; it is not sent to external providers before command recording starts.
- Camera access is optional and used only when visual context is sent.
- Scowld does not use Apple's TrueDepth API or ARKit face tracking and does not collect, use, store, disclose, share, or retain face geometry, depth maps, facial blend shapes, facial expressions, biometric identifiers, or other face data.
- Privacy Policy and Terms are published on the web and bundled as offline acceptance text in startup onboarding. Keep both copies in sync when legal text changes.
## Website Links
- Website: https://scowld.xyz
- Privacy: https://scowld.xyz/privacy
- Terms: https://scowld.xyz/terms
- LinkedIn: https://www.linkedin.com/company/scowld
- Instagram: https://www.instagram.com/scowld_/
- Product Hunt: https://www.producthunt.com/products/scowld
- Ko-fi: https://ko-fi.com/apoorvdarshan
## Credits
- Character/avatar frontend: Amica / Arbius AI (MIT)
- Developer: Apoorv Darshan, ad13dtu@gmail.com
## License
Scowld is released under the [MIT License](LICENSE). The bundled character/avatar frontend (Amica / Arbius AI) is also MIT licensed.