ProjectsApp

AIVatar

One of the first Stable Diffusion avatar apps. Second on iOS ever, first with on-device upscaling.

Why

Dreambooth for Stable Diffusion dropped and suddenly you could train a model on your own face. Everyone started making apps for this. Everyone made them for the wrong platform.

So I made one for iOS.

How

This was a build-in-public project. I wrote down every step. A few things I refused to compromise on:

  • Minimal friction from open to payment
  • As cheap as possible to operate, so I rolled my own API
  • Every format Photos will display — RAW, HEIC, JPEG, PNG, etc
  • Encourage people to come back
Welcome screens

The UX

A few things put it ahead of most AI avatar apps (besides being native SwiftUI): Sign in with Apple, iCloud sync, on-device upscaling — the user gets what they want and I don't pay for GPUs — bad-sample detection (missing faces, sunglasses, anything that tanks output), and more.

Even a custom notification sound.

Training data submission, later simplified to one step

The Quality

Samples from the early versions

Pretty early in the Stable Diffusion experiments I figured out a few things that made the output actually look like the person, with a more proportional, realistic face. A lot of AI photo apps still struggle with that.

Makes me proud.

Training refinement, before and after. The approach still holds with modern LoRA and Flux.

Conclusion

First serious dive into ✨ AI ✨ machine learning, and there will probably be more. Follow me on the X-dot-com world wide web site application for whatever I try next.

Next

PreviewHunt

Tool