How we choose
The short version: a filter I built picks the candidates, a language model drafts the reason each one fits, and code refuses anything that reads like an advert. I have not used most of these products and I do not claim to have.
What this site is not
This is not a testing lab. I do not buy, handle or try the products here, and nothing on this site is written as though I had. If you want hands-on reviews, ValentineWish.com is the wrong place and I would rather say so than imply otherwise.
What it does instead is narrow a very large catalogue down to a few things that suit one specific person, and tell you why each one made the list.
Where the products come from
Candidates come from Amazon's Creators and Product Advertising APIs. Nothing is scraped. A product only enters the pool if it was rated 4.3 out of 5 or better at the moment I found it, was in stock and purchasable, and fell inside one of the four price bands.
That rating is a filter applied at discovery, not a live number quoted back to you. Amazon's ratings and reviews are not stored or displayed anywhere on this site.
How four answers become seven picks
Every product in the pool carries tags: what interests it suits, what kind of person it suits, which price band it falls in. Your four answers are matched against those tags by a scoring function, which ranks the pool and then applies a diversity rule so you do not get seven variations of the same object.
The questions about interest and personality are optional. Skipping one widens the search rather than narrowing it, so you will still get seven picks, just less sharply matched.
Who writes the reasons
A language model drafts them, from the product listing. I am telling you this plainly because it matters and because you cannot tell by reading. Each reason is a short clause generated from the Amazon listing for that product, then assembled into a sentence by code at the moment the page renders.
Three things constrain that, and all three are code rather than instructions to a model:
- A fragment must be grounded in the listing. Claims that are not supported by the product's own description are rejected.
- Advertising language is banned outright. A fragment containing "best", "perfect", "ultimate", "must-have", "guaranteed", or any claim to cure, heal or treat anything is thrown away rather than published.
- Length is bounded, so a reason is a clause and not a sales page.
Tags the system is not confident about go into a queue that I review by hand. That queue is the only point where a person checks a specific product, and I would rather describe it accurately than call the whole process "hand-curated".
The videos
Some picks carry a short video. Those are found by searching YouTube for the product and keeping results that plausibly show it. Nothing loads until you click: before that there is a still image and no player, no cookie and no YouTube script. I store only the video identifier, and no other information about the video or its creator.
Prices
Prices come live from Amazon and are stamped with the time they were fetched. They are never older than twelve hours and are never stored.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon.com at the time of purchase will apply to the purchase of this product.
How the site makes money
As an Amazon Associate I earn from qualifying purchases. If you buy through a link here I get a commission, and it costs you nothing extra.
Nobody can pay to appear. There is no sponsored placement, no paid inclusion and no advertising, and commission rates are not an input to the scoring. A product that pays more does not rank higher, because the code that ranks has no access to that information at all.
Getting something removed
If a pick is wrong, unsafe, out of date or just bad, tell me at cupid@valentinewish.com and I will pull it. You can also use the contact page.