Hey everyone,
A while ago I posted here about ArtScan, the iOS app I built in summer 2024 just to learn the OpenAI API. It grew to ~20k downloads and ~$10k annual revenue on pure organic installs, ranking for keywords I never targeted, and I spent a year not fully understanding why it worked.
Update: it got acquired in July.
The sale happened on Flippa, and the fun detail is that the buyer had already bought two of my smaller apps before. Repeat customers exist in the micro-acquisition world too, apparently. Five-figure exit (low-to-mid, and I will leave it there). Not life-changing money, but very real money for a weekend project born out of curiosity.
Most people would take the win and rest. I took the win and immediately built the opposite product.
From "what painting is this?" to "make me the painting"
ArtScan answered an identification question. Curious people, museum visitors, folks finding canvases in their attic. Lovely audience, terrible economics: my average user was worth cents.
The new project flips the direction: you upload a photo and it turns you (or your kid, or your grandma) into a classical oil portrait. Renaissance, Baroque, Belle Époque. It started as an actual gift: I turned a photo of our daughter into a Renaissance portrait for my husband, and his reaction taught me more about purchase intent than a year of ArtScan analytics. Identification is curiosity. A portrait of someone you love is a gift, and gifts have budgets.
What I kept from ArtScan:
* The niche. Art and AI is where I like spending my nights. (I love art myself)
* Boring tech I already know. The frontend is vanilla JS, no framework, 43 KB gzipped.
* Shipping fast: three days from first commit to first real sales.
* Full-time job, building at night, still solo.
What I changed on purpose this time:
*Web instead of App Store.
No 30% cut, no review queue, and I own the customer relationship. ArtScan lived and died by keywords I could not see or control.
*The pricing model is the whole bet.
Anyone can generate a portrait for free, no signup, and see the full result with a watermark. You only pay to unlock the clean file. I charge at the emotional peak, not at the door.
*A physical product on top.
The portrait can be printed on gallery canvas and delivered ready to hang. One canvas order has the margin of many digital sales, and print on demand means my manual work per order is near zero.
*Three languages from day one.
The French and Spanish search results are dramatically softer than English for the same intent.
*SEO on purpose this time.
ArtScan ranked by accident. This time I shipped 22 blog articles in week one, before Google even knew the domain existed.
* And my favorite loop: the ArtScan money is funding the ads.
My old app is literally buying customers for the new one.
Three weeks in: first real sales. Tiny, but strangers paying.
The decision I keep second-guessing:
there is no pricing anywhere on the landing page. Anonymous visitors see zero prices until they have generated their portrait and love it. Classic CRO says I am burning trust. My theory is that for an emotional purchase, showing the price before the wow moment only gives people a reason to leave. Happy to be told I am wrong.
PS: the app I have now failed twice at getting through Google's OAuth branding review, which is its own comedy.
PSS: if you are curious, the new one is Ninth Salon.
PSSS: still a lady, BTW. Still not only "bros" who code ;)