DEV Community

Apoorv Darshan
Apoorv Darshan

Posted on

How Scowld fits together: the full BYOK companion stack

Two weeks of posts, one architecture. Here's how Scowld actually fits together as a system.

The shell: a SwiftUI iOS app that bundles an Amica/Arbius frontend. The companion you see is a 3D VRM character rendered with Three.js and three-vrm, with lip sync, idle animations, and expressions. Choose Aria, Bella, Ciel, or a custom avatar and name.

The loop, all bring-your-own-key:

  • Input: type or speak from the iOS composer, or trigger hands-free with on-device wake listening for "Bella" or your custom name.
  • Hear you: speech-to-text via native iOS, OpenAI Whisper, Groq Whisper, Deepgram, AssemblyAI, Google Cloud STT, browser Whisper, or text-only.
  • Think: an LLM provider of your choice, Gemini, OpenAI, Claude, Ollama, Groq, OpenRouter, xAI, Together AI, Hugging Face, Venice AI, or Moonshot AI.
  • See (optional): front-camera vision context sent to the AI when enabled.
  • Speak back: text-to-speech via ElevenLabs (presets, custom voice IDs, model selection) or OpenAI voices.

The state: past chats saved locally and selectable as future context, character settings for avatar, name, and system prompt, multilingual speech defaulting to your iPhone language. Keys live in the iOS Keychain, choices in local preferences.

It's iOS only, MIT licensed, built solo. Download it and assemble your own companion.

https://apps.apple.com/in/app/scowld-ai-voice-companion/id6760672848

Top comments (0)