Amix A subscription product for finding the same clothing item cheaper across retailers. You sear...Amix A subscription product for finding the same clothing item cheaper across retailers. You sear...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Amix A subscription product for finding the same clothing item cheaper across retailers. You search by product name, by pasting a URL, or by uploading a photo, and an outfit mode breaks a full look into individual pieces and searches each one separately. Results are filtered by the user's own measurements and scoped to Hungary, Europe or worldwide.
Behind the search sits the rest of a real product: account creation with Google and GitHub sign-in, email verification, password reset, an image upload pipeline, subscription plans with per-plan usage quotas, and payment handling.
The hard engineering problem was matching. The same jacket is listed under a different name by every retailer, shot on a different background in different light, so items have to be matched from the image itself. The backend runs on Node's standard library with zero npm dependencies, containerised and deployed close to the retailers it queries.
Post image
Nugraha's avatar
Nutaraline logo
@Noel Gregory Matching retailer photos across lighting and backgrounds is a tricky core problem. How did you balance image-match accuracy with the latency of region-scoped searches on a zero-dependency Node backend?
Noel's avatar
Region scoping is what makes it work. Filtering to Hungary, Europe or worldwide happens before the expensive part, so the image comparison runs against a much smaller candidate set instead of the whole web.
The per-plan daily quotas exist for the same reason. Image search is...
Andreas's avatar
Two-stage matching is the classic way to keep this fast on a lean stack: run a cheap pre-filter first — perceptual hash or color-histogram distance on small thumbnails — to drop most candidates, then run the expensive matcher only on the survivors. Normalizing images before...
Noel's avatar
The two-stage split is the part I got wrong. Right now it's a single pass, which is exactly why the quotas have to be as tight as they are.
A perceptual hash on thumbnails is cheap enough to run across the whole candidate set before anything expensive touches it. That changes the...
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started