DEV Community

Apoorv Darshan
Apoorv Darshan

Posted on

I built an iOS AI voice companion with a 3D face that talks back

Most "AI companion" apps give you a chat bubble. I wanted a face.

Scowld is an iOS app where you talk to an animated AI companion and it talks back, in its own voice, with a 3D character on screen. Under the hood it bundles an Amica/Arbius frontend running Three.js and three-vrm, so the avatar is a real VRM model with lip sync, idle animations, and expressions, not a static sprite.

The SwiftUI app wraps that experience: an iOS composer where you type or speak, a character that reacts, and saved chats you can pull back in as context later.

It's iOS only, MIT licensed, and built solo. A few things I'm proud of the architecture for:

  • The companion is a VRM avatar (Aria, Bella, Ciel, or your own custom avatar and name) rendered with three-vrm, so faces and animations are swappable assets.
  • Everything is bring-your-own-key. You plug in your own provider for the LLM, speech-to-text, and text-to-speech. No accounts on my end.
  • API keys live in the iOS Keychain; your choices live in local preferences.

Over the next couple of weeks I'm going to break down how the pieces fit: the VRM rendering layer, wake-word listening, the BYOK provider matrix, vision context, and the SwiftUI composer.

If you want to talk to a character instead of a text box, start here.

https://www.scowld.xyz/

Top comments (0)