Tattoo Remover AI

Solo project2026

Removing tattoos, scars and stretch marks from photos.

Swift · SwiftUI · Go · PostgreSQL · RevenueCat

Tattoo Remover AI removes tattoos, scars and stretch marks from photos. You paint over what you want gone, the app generates a version without it, and you can compare before and after with a slider before saving.

I built it alone and submitted it to App Store review in under 80 hours.

Tattoo Remover AI landing screen with a before and after slider
The landing screen.
Painting a selection over a tattoo to mark it for removal
Painting the selection.

Shipping quickly without starting over

Most of that time went into what was actually new for this product: the SwiftUI client, the selection workflow, and a Go backend that runs generations across several image models behind the same API, so the app is not tied to a single provider. Generations run asynchronously, so the app submits, follows progress, and saves the result when it lands.

Authentication, billing and storage came from Drip, an earlier app of mine. I hardened them rather than rewriting them.

A removal generating, with progress shown
Generation in progress.
The finished result, saved to Photos with share and retry actions
The result, saved.

Getting billing right

A subscription includes a weekly allowance, split across generation quality tiers, and extra credits are only spent once that allowance runs out. Both come out of the same advisory-locked transaction, so two requests arriving at the same time cannot spend the same credit.

If a generation fails, the credit goes back. Subscription webhooks can arrive more than once, so they are deduplicated before anything is granted, and quota resets follow the subscription period rather than a local clock.

Subscription paywall showing weekly allowance tiers and pricing
Tiers, allowance and pricing.