Health, home and travel decision

Gemstone Identifier °

A competent developer can reproduce a useful photo-to-profile gemstone identifier and personal collection using hosted vision and LLM APIs, but the full paid product’s accuracy, dataset improvements, multi-language polish, and App Store traction are not captured by a small self-build.

View on the App Store
You pay

$4.99/mo

$60/yr

Read off the official pricing page.

You’d pay instead

$100one-off48 h to build

$60/mo6 h/mo upkeep

On cash alone, building overtakes the subscription at 14 seats.

No open-source build does this yet

Nothing published replaces this one, so a replacement starts from an empty file. Here is what it would have to cover.

What a replacement has to do

  • Take or upload a photo → run an image classification model → show a gemstone profile (name, hardness, rarity, value estimate, properties) → save to a personal collection → optionally ask chat assistant about the gem.

What it still won’t have

  • Training-data driven improvements and large proprietary labeled dataset used by the app
  • App Store distribution history, reviews, and existing user base
  • Mobile polish, localization across 17 languages, and lifetime/one-time purchase options
  • Any proprietary on-device optimizations or dataset/correction loops the vendor runs

What remains hard

  • Product polish and ongoing maintenance
Read the build prompt

First-year cost

Keep paying

Paying is—cheaper in year one.

On cash alone, building overtakes the subscription at 14 seats.

Paid seatsseats

Money you would actually spend

Keep paying
—

Subscription price × seats × 12

Build it
—

AI build —APIs + hosting —

Time you would spend

—

—

What you would spend

What we assumed

The verdict above measures whether you could build it. This one is only about money.

Runnable build prompt

Not run yet
Build an iOS SwiftUI app with a small Node.js (Express) backend and PostgreSQL. Core features in scope: (1) SwiftUI camera and gallery uploader, (2) backend image upload endpoint, (3) integrate a hosted vision API for image classification, (4) map predicted labels to a Postgres gemstone profile table (name, Mohs hardness, rarity, market estimate, properties), (5) per-user collection storage with simple email/password auth, (6) integrate an LLM API for a chat assistant that answers questions about saved gems, (7) basic analytics and logging, (8) unit tests for API routes and a few UI integration tests, (9) CI/CD to build and publish an iOS TestFlight build. Out of scope: training custom vision models, on-device native ML optimizations, multi-platform desktop builds. Include error handling, input validation, rate limiting for uploads, and automated tests for core API endpoints.
How we checked2 sources · 3/3 runs agreed · evidence score 60

How the score was reached

  • Partly verdict base52
  • 2 cited sources+1
  • Price verified on pricing page+3
  • 3/3 assessment runs agreed+4
  • Evidence score60

The base comes from the verdict. Everything under it is a check that either happened or did not, and each one is a fact frozen in this record rather than a judgement made at render time - so the same evidence always produces the same number.

How scoring works →

Cited sources · 2

Every page the run actually retrieved.

Integrity checks

What held up, and what did not.

✓ Price read off the page✓ 3 independent runs, one answer✓ Citations limited to fetched pages! 1 moat recorded