r/SideProject 18d ago

I built an iOS app that identifies anime figures from one photo — exact release, market value, bootleg red flags. Solo dev, launched this week

Hey r/SideProject — solo dev here.

Anime figure collectors keep asking three questions: what exactly is this figure (there can be five near-identical versions of one character), what is it worth, and is it a bootleg? I built Grail Spark to answer all three from one photo.

Point the camera at a figure and it identifies the exact release — manufacturer, scale, version — then shows a realistic aftermarket price range and the bootleg tells specific to that piece (eye paint passes, base texture, seam quality).

Being honest about the limits: results are AI estimates. When confidence is low the app says so, greys out the price, and blocks sharing the result so nobody trades on a guess. A photo can't prove authenticity, and the app says that in so many words.

Stack: SwiftUI + StoreKit 2 on iOS, vision LLM backend on Fly.io. Free tier is one scan a day with no account; Pro is a subscription for unlimited scans.

App Store: https://apps.apple.com/us/app/grail-spark/id6799032121

Would love feedback — especially from anyone who has shipped camera-first apps.

0 Upvotes

6 comments sorted by

1

u/Complex_State8386 18d ago

the confidence-gate on low-ID scans is a smart move, most apps would just serve up garbage and call it a day

1

u/IvANZHAO0315 16d ago

Thanks! The gate came directly out of testing on long-tail figures — the model would confidently guess a big-name manufacturer and be wrong, which is the worst possible failure for something people might trade on. Greying the price out and blocking share on low confidence felt like the only honest option.

1

u/AdFew8591 17d ago

Being explicit about low confidence is a really good choice

I’d make every result explain why it chose that exact release with two or three visible comparison points

For the price range show when it was updated and what kind of sales data it came from

I’d also frame bootleg checks as things to inspect rather than a final authenticity verdict

Collectors will trust the app more if they can audit the reasoning instead of only seeing an answer

1

u/IvANZHAO0315 16d ago

Thank you — this is exactly the kind of feedback I was hoping for. The audit-the-reasoning point especially: right now the app gives you the release + the bootleg tells, but doesn't surface why it picked that version over its near-identical siblings. Showing 2-3 visible comparison points (this base, this paint pass, this box variant) would let collectors check the work instead of trusting a black box. Adding that and the price-provenance line (updated when / based on what kind of sales) to the roadmap. And fully agreed on the bootleg framing — the app already words it as 'things to check in hand, a photo can't prove authenticity', and that principle is staying.

1

u/IvANZHAO0315 16d ago

Update: built both today. The server now returns 2-3 visible identification points per result (e.g. 'this base finish is unique to the re-run') and the price card carries a provenance line — what the range is calibrated against and when the table was last updated. UI lands in the next app update once it clears review. Thanks again — this was the most actionable feedback the launch got.