Estimonia: AI Photo Valuation for Antiques, on Web and iOS
Estimonia is our own product. Upload photos of an antique, watch or piece of jewellery and get a USD value range, a confidence score and a written rationale. We built and run it end to end: a Laravel 12 API with queued vision analysis, a web scanner, an Expo iOS app and an auction house directory.
The challenge
Most people just want to know if it's worth anything
Most people holding an inherited watch, clock or ring don't need a certified appraisal. They need a first answer: is this worth a specialist's time, or not? Appraisers are slow and expensive for that question, and generic image search returns listings rather than a value.
A model answer isn't a product
A vision model will happily name an object and quote a price, but the output has to be structured, bounded and honest about uncertainty. It also has to handle blurry photos, cluttered scenes and things that aren't collectibles at all, without every failed call silently costing money.
Nobody wants to sign up just to ask
The audience is one-off and privacy-sensitive. Putting a sign-up wall in front of the first valuation would lose most of them, so the system had to work anonymously on both the web and the phone while still letting people keep what they scanned.
Our approach
One API, two clients
A monorepo with a Laravel 12 API (PHP 8.4, MySQL) serving both the web scanner and an Expo / React Native iOS app. The versioned API issues anonymous Sanctum tokens, so a first scan needs no account. Anonymous users can convert to a registered account later without losing their items.
Async valuation pipeline
Each upload of up to four photos creates a Scan. A queued ProcessScanJob, run on Redis and Laravel Horizon, sends the images through Prism to OpenAI GPT-4.1 vision with a strict JSON contract: an image-quality verdict with warning codes, the item's name and model reference, its materials, a tight USD min/max range, confidence and rarity scores, and a comparables-based explanation. The job is rate-limited against the provider, retries with increasing backoff, and writes the result to an Item. Uploads are downscaled to 2000px before storage.
Cost and failure visibility
Every model call is logged with token usage and cost, and with its outcome (success, rejected or failed). Spend is recorded before the JSON is parsed, so broken responses still count. An admin dashboard shows daily spend, cost per scan, budget projection and money spent on rejected photos. Per-IP and per-user throttles protect the anonymous endpoints.
Reuse over new pipelines
Later features run on the same Scan → Job → Item path instead of forking it. The estate-valuation flow, which values a whole household from a batch of photos behind a tokenised link, uses it, and so do the opt-in seller introductions to auction houses. Cost logging, value tiers and retries apply to them automatically.
How we delivered
-
1
Product & brand
DesignDefined a calm, trust-first product with value ranges and confidence scores instead of single prices, and a restrained heritage visual system.
Brand system Scan UX -
2
API & data model
DevelopmentBuilt a Laravel 12 API with anonymous Sanctum auth and Scan, Item, directory and guide models, shared by web and mobile.
Laravel 12 MySQL Sanctum -
3
Vision pipeline
AIWired queued GPT-4.1 vision analysis through Prism with a strict JSON schema, retries, rate limiting and per-call cost logging.
Prism Horizon Cost logging -
4
iOS app
MobileShipped an Expo / React Native app with camera capture, an offline-persisted query cache and over-the-air updates.
Expo React Query EAS Update -
5
Guides & directory
ContentPublished a Knowledge Hub of value guides and an auction house directory with fee comparison and metal-price calculators.
55 guides 112 listings
Results
Growth over time
Since Jun 2025Live on web and the App Store
Estimonia runs on estimonia.com with a no-account browser scanner and a native iOS app built with Expo and shipped with over-the-air updates. Each result shows a value range, confidence and rarity scores and an explanation, and people can save items to a personal collection.
A research layer around the tool
The Knowledge Hub has 55 value guides across watches, jewellery, antiques, coins, art and collectibles. A directory of 112 auction houses and dealers in 17 countries includes a fee comparison, and gold, silver and coin-silver melt calculators run on live metal prices.
Routes to sale
Owners can choose to let vetted auction houses and dealers see an item anonymously. Contact details move only after the owner agrees. The estate-valuation flow turns a whole house of photos into a decision list: take it to a specialist, sell it yourself, or let it go.