Chromyne: AI Colour Analysis, Shipped.
A user uploads a selfie, answers a short style quiz, and gets back a personalised colour, makeup, hair, and outfit report — designed, built, and run by our team.
Version 1.0.3 · first released 28 July 2026 · Lifestyle · 12+ · iOS 15.1 and later · free with in-app purchases.
Everyone Has a Palette. Almost Nobody Knows Theirs.
Personal colour analysis is the difference between an outfit that works and one that quietly doesn't. Most people never find out which is which — they buy the shade that looked good on the hanger and never work out why it felt wrong.
The two existing answers both fail. A professional consultation is a salon-priced appointment booked weeks out — fine once, useless the evening before an event. Free tools go the other way: a five-question quiz that sorts everyone into four seasons and returns the same paragraph. Chromyne was built for the gap between them — the shopper who wants a specific answer about her own face, tonight.
One Photo, One Quiz, One Specific Answer.
A user uploads a selfie and answers a short style quiz. Server-side image analysis returns a seasonal result — undertone, contrast, depth — and everything downstream follows from it: a clothing palette, makeup shades with step-by-step application, hair colour ideas, face-shape styling tips, and a share card. Paid users keep a saved history of their reports.
The full report
Artistry map
Result card
What it deliberately does not do matters just as much: no AR makeup try-on, no digital closet, no marketplace, no social feed, and nothing resembling dermatology-grade skin analysis. Each was considered and cut: a version one that has to survive review and run reliably cannot afford twice the surface area.
Boring Choices, On Purpose.
Nothing here is exotic. Every piece was picked because it is well documented, cheap to operate at low volume, and replaceable without a rewrite.
- App
- Expo React Native with TypeScript, shipping to both iOS and Android from one codebase.
- Backend
- A Node.js and TypeScript API, with Supabase for authentication, database, and storage.
- AI
- Image analysis runs server-side, never on the device — Gemini primary, OpenAI as the fallback.
- Billing
- RevenueCat, so subscription state is one source of truth across both stores.
- Operations
- PostHog and Amplitude for product analytics, Sentry for crash reporting.
- Pricing
- A free preview, then $9.99 per month or $69.99 per year.
Three Rejections. Then a Release.
Chromyne was rejected three times before it shipped. We document that rather than hide it, because turning a rejection notice into a fix is the part a client is actually buying.
Guideline 5.1.1(i) — face data
Analysing a photograph of a face is handling face data, and Apple wants that stated in specific terms. Two rejections cited the same area: no disclosure of what face data is collected, no "equal protection" clause, no way to revoke consent, and third-party AI consent language that did not go far enough. We rewrote the privacy policy against the guideline line by line, spelled out that images are processed server-side by a third-party model, and added a Settings control that lets a user withdraw consent after granting it.
Metadata and pricing
A shorter cycle, and a reminder that the listing is part of the product. The subscription tiers had problems of their own in App Store Connect — presentation and pricing, nothing to do with the binary. Corrected and resubmitted.
Guideline 2.1(b) — the loop
The interesting one. Both subscriptions had been left in a REJECTED state as collateral damage from the earlier rejection, which made them unpurchasable — the reviewer hit "Error 5" on the paywall, which produced the next rejection, which kept the products rejected. A self-perpetuating loop no amount of code fixes; it had to be cleared at the product level in App Store Connect. Two more issues surfaced in the same pass: three leftover "Google Play" strings inside the iOS binary, cited twice under Guideline 2.3.10, and a test-mode RevenueCat SDK key that had leaked into preview builds. We fixed all three together, and the next submission was approved.
The lesson we carry into client work: review failures are rarely about code quality. They are about disclosure, store configuration, and build hygiene.
New, Live, and Running.
Chromyne is on the App Store and on Google Play as app.chromyne. Version 1.0.3 went out on 12 August 2026. It is genuinely new: no ratings yet, and it is not ranking in store search on either platform. We are not going to dress that up as traction.
What it does demonstrate is a product taken end to end — design, build, QA, store review, release, and the ongoing work of keeping it running. The same foundation now carries a B2B spin-off, Chromyne for Salons, for stylists working with clients at the chair.
We Have Already Made the Expensive Mistakes.
If your product has to clear App Store review, it helps to work with a team that already knows where the traps are. See how we run app and web development.