You're the worst judge of your own photos — you've seen your face in a mirror your whole life, flipped. PhotoDuel fixes that. Upload up to 10 photos, share one private link, and friends vote in head-to-head matchups: A or B, nothing else to decide. An Elo rating — the system chess uses — turns those votes into a ranked result with a win rate for every photo. No account for you or your voters. No ads. Free. Six languages. Galleries sit behind an unguessable link and expire in 30 days.
Hey Product Hunt 👋
This started with a genuinely stupid problem: I had twelve photos from a trip, dropped them in a group chat asking "which one should I post?", and got zero replies. Everyone opens that message, sees twelve photos, and quietly decides it's someone else's job.
So I flipped it. PhotoDuel never shows anyone twelve photos. It shows two. You tap the one you like better, and the next pair appears. That's the entire interaction — it takes about fifteen seconds, which is why people actually finish it.
Behind that, every tap feeds an Elo rating (the same system chess rankings use). Your photos aren't scored on raw vote counts, which would just reward whichever ones happened to appear most — they're scored on who they beat. The photo that keeps winning against your other strong photos comes out on top, and you get a win rate for every one.
Two decisions I'd defend:
No accounts, for anyone. Not for you, not for the friends you send it to. The moment a voter hits a signup wall, they close the tab and you get no data. Your gallery lives at an unguessable link and expires in 30 days.
No ads, and nothing harvested. You can also hide the results from voters if you only want the answer for yourself.
It works in English, Russian, Uzbek, Korean, Japanese and Spanish, because the first people who tested it weren't English speakers.
It's free and there's nothing to install — upload a few photos and send the link to a group chat.
I'd genuinely like to know: when you've asked people to pick between your photos, did the winner surprise you? Mine did, and it's the reason I kept building this.
@aaronoleary