Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cool Text - Goodreads Bias Analyzer 506269067158023

Goodreads Bias Analyzer

A project aimed at finding out what biases someone might have based on their books.

Inspired by various writings by Sorya Chemaly discussing men's reading habits, and by those mad lads who track everything about themselves and upload it to the internet, particularly https://howisfelix.today/

About

We often talk about bias in ML and AI, a large portion of a model's bias comes from the training data and thus, effective methods to reduce model bias include adjustments to the training data. Human biases form from the data of being alive: experiences, media, conversations, and so much more. The forms of entertainment a person consumes contribute to bias; I believe that reading habits are, to some extent, a representative sampling that can reflect some biases, particularly identity-based biases.

This repository is focused on reflecting gender bias. But also, discovery of potential biases that are of interest to a writer as well: Writing PoVs and Story Themes. And additionally, there are general reading statistics related to authors and page counts read.

This project is largely vibe-coded. It's a streamlit app that creates an analysis of your reading habits based on Goodreads data. While other projects like this exist, I found that many did not include the attributes I was most interested in-- features of the actual text and the authors identity. The reason for this is likely because there is no reliable way to get this information. Here, the additional information is added through AI classifications using OpenAI's built-in web search, which is not the most reliable either, but was good enough for my analysis upon confirming the annotations for my data.

Setup

  1. Get your Goodreads Data!

    a. Log onto Goodreads

    b. Go to "My Books"

    c. Select "Import/Export"

    d. Export your data, then click the hyperlink on the page to download your .csv

  2. Install dependencies:

pip install -r requirements.txt
  1. Create a .env file in the project root:
OPENAI_API_KEY=your_api_key_here
# Optional
OPENAI_MODEL=gpt-4.1-mini
OPENAI_BATCH_SIZE=20
  1. Run the app:
streamlit run app.py

Analyzing My Own Reading Bias

Summary Statistics

Screenshot 2026-04-17 at 9 04 05 AM

It's a bit embarrassing that after all these years, my top read author is still Shakespeare. Regardless, my data is consistent with the gendered ratings gap discovered by a cross-user Goodreads analysis in 2014, where they found men rated women's books 3.8 on average, and men's books 3.9 on average (source). My reading data has a more pronounced gender ratings gap of 0.28.

Read Analysis

Screenshot 2026-04-17 at 9 21 45 AM
  • The high skew towards poetry (count=24) is not surpsising to me, though it doesn't say much about bias.

  • A deeper analysis could potentially be done on themes and how they relate to gendered reading habits, but I don't have sufficient data.

  • The authors I've read so far have been overwhelmingly male (76.5%). This is consistent with a similar gap in the reader base of the top 10 bestselling women authors: only roughly 19% of their readbase is male (source).

  • Only in ~9% of books I've read that had a protagonist (n=65), the protagonist was a woman.

Screenshot 2026-04-17 at 9 37 36 AM
  • I overwhelmingly favor first person narratives, it could be the cause for it being difficult for me to write in any other voice. Is this a self-fulfilling prophecy? I'm not sure.

  • The publication decade spread was news to me, I'd forgetten I've read some seriously old books, I believe the data point for -1200 was The Epic of Gilgamesh

  • My ratings distribution is heavily skewed towards 5 but it's worth mentioning that there's a single 1 star item, The Stranger by Albert Camus, and I stand by that.

Want to Read

Screenshot 2026-04-17 at 9 43 17 AM Perhaps the most interesting thing in my want-to-read analysis is the high degree of correction for gender bias. Most of the books on my want to read where there prior to the start of this project. I've added only one since and it was by a man. This correction happened after already learning about the gendered reading gaps. Learning about such biases made me significantly more inclined to seek out different voices from my own to correct a potential bias in the data of my life. Hopefully, if you've read this far, you consider doing the same, with or without this little analysis tool.

About

A project aimed at finding out what gender biases someone might have based on their Goodreads, among other things.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages