About this project
Æsthetics ranking is a small, non-commercial research project built by Ivan Pozdniakov. It lets you skim through 90 visual aesthetics with a quick like/skip pass, pairwise-compare your favourites, and end up with a personal top 5 plus a global leaderboard aggregated across everyone’s choices.
Where the content comes from
Every aesthetic, description, image, and video shown here is sourced from the CARI Institute’s public archive, which in turn curates its galleries from Are.na channels maintained by their community. Images are displayed here for identification and ranking only, not for redistribution. Each aesthetic’s page links back to its CARI entry and Are.na channel so the original sources stay one click away.
Non-commercial use & attribution
Per the CARI Institute’s usage guidelines, this project treats the archive as a source of inspiration and analysis — never as a source of free assets. No images are offered for download, no content is sold, and no advertising runs on the site. Credit goes to CARI, to Are.na, and to the original creators of each image, who can be reached through the Are.na block sources linked on every aesthetic page.
Takedown & corrections
If you’re a creator and want one of your images removed, or you’d like an attribution corrected, please open an issue on the project’s GitHub repository, or reach me through the contact channels on pozdniakov.github.io. The image will be removed promptly — usually within a day.
How the ranking works
Phase one is a quick like/skip pass through all 90 aesthetics. Phase two takes only the ones you liked and feeds them into a Guarded Top-K Insertion Sort — a small algorithm that finds your top 5 in roughly 18 to 30 comparisons, instead of the ~40 a full insertion sort would need to fully order, say, 15 liked items. The algorithm runs entirely in your browser; only your final ranking and the individual pairwise outcomes are saved (anonymously) to power the global board and the “mainstream vs niche” taste score.
How the taste profile is calculated
The 0–100 “mainstream ↔ niche” score on your ranking page is a rank-based percentile, not a rating. It answers a single question: among everyone else’s pairwise choices, where do your top 5 sit in the popularity distribution?
- Take every comparison anyone has ever made on the site, excluding your own current session, and count wins and losses for each aesthetic.
- Calculate a smoothed win rate for every aesthetic, then sort by that value in descending order. The most popular aesthetic gets rank 0, the next gets rank 1, and so on up to N−1.
- For each aesthetic in your top 5, compute its percentile p = rank / (N−1). Items the rest of the world has never picked are treated as p = 1 (maximally niche).
- Your score is the average percentile across all five items, multiplied by 100 and rounded.
popularity(a) = (wins(a) + 1) / (wins(a) + losses(a) + 2)
pi = ranki/ (N − 1)
score = round( meani( pi) × 100 )
ranki— 0-based position of your i-th favourite in the global popularity ranking; N — number of aesthetics that have ever won at least one comparison.
Bucketing is purely cosmetic: 0–19 = Very mainstream, 20–39 = Mainstream, 40–59 = Mixed taste, 60–79 = Niche, 80–100 = Very niche. A score near 50 means your favourites sit, on average, right in the middle of the global popularity distribution — not that you are “average”, just that the centre of mass of your top 5 lines up with the centre of everyone else’s choices.
Caveat: the smoothing keeps low-data aesthetics from jumping straight to the top or bottom, but the score is still based only on choices made inside this site. It is best read as “how I compare with other rankers here”, not as an objective measure of cultural mainstream-ness.
Privacy & data
This project is built to need as little personal data as possible. There is no sign-up, no email collection, and no advertising scripts. The site uses your browser’s localStorage to remember your progress across pages; that storage is functional and is not used for marketing, so under the EU ePrivacy Directive no cookie banner is required.
What gets stored on the server. When you start comparing, an anonymous session row is created in a Supabase (EU region) database. It contains:
- A random session UUID (no name, no email, no IP address recorded by the application).
- The display name you typed into the “Before we begin” prompt, if any — this becomes visible on your shared ranking page and as the contributor label on the global leaderboard.
- Your pairwise comparison choices and final top 5, used to power the global board and the “mainstream vs niche” score.
- A short share slug, generated only if you create a public share link.
Legal basis (GDPR Art. 6). The display name is processed on the basis of your consent— you type it in yourself, knowing from the prompt that it will be public on shared rankings and on the leaderboard. The remaining data (comparisons, top 5) is processed on the basis of legitimate interest in operating the ranking and producing aggregate, anonymous statistics.
Your rights. You can delete everything attached to your browser at any time: clicking Erase & compare againon the ranking page now deletes your session row, all of your pairwise comparisons, and your top 5 from the database, and then clears your browser’s local copy too. If you ever need help with deletion or with correcting an attribution, open an issue on GitHub or reach me through pozdniakov.github.io.
Hosting & processors.The site itself is served by Vercel (which retains short-lived access logs); the application database is Supabase (EU region). Neither is used for analytics or profiling beyond what is necessary to keep the site online. Video tiles on aesthetic detail pages are click-to-load: no YouTube or Vimeo iframe is loaded until you press play, at which point playback is governed by that provider’s privacy policy.
Source code
The project is open source on GitHub: Pozdniakov/aesthetics-ranking.