# GUAPISH > GUAPISH is a podcast whose cast watches and ranks movies, and occasionally scores albums. guapish.com is its companion site. The pages are rendered with JavaScript, so fetch the plain data files below instead of scraping the HTML. For anything beyond a lookup (averages, counts, comparisons between reviewers), load the CSV and compute with code rather than estimating from the text. ## Data - [Movie rankings (CSV)](https://guapish.com/data/movies.csv): one row per movie, one column per reviewer's rank. The smallest and easiest file to analyze. - [Movie rankings (JSON)](https://guapish.com/data/movies.json): the same movies, plus which reviewers count towards the overall, the rank scale, review video links and a link to each movie on the site. - [Album rankings (CSV)](https://guapish.com/data/albums.csv): one row per album, one column per reviewer's score. - [Album rankings (JSON)](https://guapish.com/data/albums.json): the same albums, plus reviewer info and review video links. Movie data follows the site's latest published snapshot and can take up to about 15 minutes to reflect a new publish. Album data changes when the site is deployed. ## How movie ranks work - Each reviewer gives each movie a letter rank. The scale has 18 steps, lowest to highest: F-, F, F+, D-, D, D+, C-, C, C+, B-, B, B+, A-, A, A+, S-, S, S+. - A rank's score is its position on that scale: F- = 0, F = 1, ... S = 16, S+ = 17. `overall_score` is the overall on this scale. - The overall is the mean of the counted reviewers' scores, rounded to the nearest step (.5 rounds up) and turned back into a letter. A rank that isn't on the scale is still listed, but ignored. - A reviewer is counted only once they have ranked at least 10% of all movies on the site. Everyone else is a guest: their ranks are listed, but left out of the overall. In movies.json, `reviewers[].countsTowardOverall` says who is counted. In movies.csv the counted reviewers' columns come first. - Refer to reviewer columns by name, not position: columns are added and reordered as reviewers join or cross the 10% line. - Upcoming movies (`upcoming` is true) have been announced but not reviewed yet. They have no ranks and no overall (`episode` can already be set if an episode lists them), so leave them out of statistics. - To reproduce the overall for one movie: average the counted reviewers' on-scale scores, round, then map back to a letter. ## How album scores work - Each reviewer scores each album from 0 (worst) to 10 (best). - The overall is the mean of every reviewer's score, rounded to one decimal place. There's no cutoff, so every score counts. - Upcoming albums (`upcoming` is true) have no scores yet. ## CSV columns movies.csv: `id`, `title`, `year` (release year), `upcoming`, `overall` (letter), `overall_score` (0-17), then one column per reviewer holding their letter rank (empty if they didn't rank that movie), `requester` (the cast member who picked the movie), `tags` (genres and custom tags, separated by `;`), `episode` (number of the podcast episode where it was ranked), `patreon_request` (true if a Patreon supporter requested it). albums.csv: `id`, `title`, `artist`, `year`, `upcoming`, `overall` (0-10), then one column per reviewer holding their score, `requester`, `genres` (separated by `;`). Rows are in the order the movies and albums were reviewed, oldest first. Empty fields mean "none" or "not ranked". ## JSON fields Both files have `about`, `guide` (this file), `source` (the page on the site), `overallRule` (the overall rule in words) and `reviewers`, then the rows. Missing values are `null`. movies.json: `snapshotVersion` and `generatedAt` (the published snapshot the data came from), `rankScale` (lowest to highest), `reviewers` (`name`, `moviesRanked`, `countsTowardOverall`), `movieCount` and `movies`. `overallRule` names who is counted right now. Each movie has the CSV's fields, camelCased (`overallScore`, `patreonRequest`), with `tags` as an array and the reviewer columns as `ranks` (reviewer name to letter rank, only for reviewers who ranked it). It also has `reviewUrl` (the YouTube review) and `url` (the movie on the site). albums.json: `scoreScale`, `reviewers` (`name`, `albumsScored`), `albumCount` and `albums`. Each album has the CSV's fields, with `genres` as an array and the reviewer columns as `scores` (reviewer name to 0-10 score). It also has `reviewUrl` (the YouTube review). ## Pages - [Movies](https://guapish.com/movies): every ranked movie. Link to one movie with https://guapish.com/movies?id=, using the `id` from the data. - [Albums](https://guapish.com/albums): every scored album. - [Episodes](https://guapish.com/episodes): the podcast's episodes. - [Cast](https://guapish.com/cast): the podcast's cast members. - [Awards](https://guapish.com/awards): the podcast's yearly movie awards. ## Optional - [YouTube channel](https://www.youtube.com/@GUAP-POD): the full episodes and reviews.