← Back

AIVatar

Why

At some point some time ago, Dreambooth for Stable Diffusion was released. Suddenly you could train a generative image model to generate images based on your own appearance. Everyone started making apps to do this, but everyone was making them for the wrong platform.

So I decided to make one for the right one - iOS.

How

This was a build-in-public project where I documented every step of the process. There were a few key requirements I wanted to address:

  • Minimal friction from opening to payment
  • As cheap as possible to operate, so I had to roll my own API
  • Support every format iOS Photos app will display - RAW, HEIC, JPEG, PNG, etc
  • Encourage recurring usage

The UX

There were a few things I did to put the app ahead of most AI avatar apps in terms of UX (aside from it being a native SwiftUI app). Among those things were Sign in With Apple, iCloud sync across devices, on-device upscaling (user gets what they want and I don't pay for GPUs, nice!), bad sample detection (app would warn you about missing faces, sunglasses and other things that will reduce the quality of the output) and more.

Even a custom notification sound!

The Quality

Pretty early on in my Stable Diffusion experimentation I figured out a few things that would make the output resemble the input person much better, as well as output a more proportional and realistic looking face. A lot of AI photo apps even today, over a year later, are struggling to get their output to the same degree of accuracy.
Makes me proud 😌

Conclusion

This app was my first serious dive into the world of ✨ AI ✨ Machine Learning, and there will probably be more to come. Follow me on the 𝕏 dot com world wide web site application to see what other whacky things I come up with.