Possible improvement: people are unlikely to be maximally idiosyncratic, and we don’t necessarily need to find the best product, only one that is good enough.
Products are likely distributed such that there’s a cluster of products that most people dislike and a cluster of products that are good enough for most people and only a few in the middle where individual preference make a big difference.
Given this, we should be able to cut the search short in a variety of ways. We still get all n products initially, but can quickly rule out the worst ones and pick the best ones quickly. Rather than send all n to the first person, since 1 product to each person. Then they rotate. After a product has been rejected or accepted k or m times, where we have to work out what k and m are based on the underlying quality distribution of the products (we may have to guess at this) and how confident we want to be we got a good enough choice for everyone, then we can just pick one of the options that crosses the m threshold whether we tried it or not.
Hopefully that makes sense. Not sure I explained all the details precisely enough to not leave some room for error.