My website for visualizing personal data

Hi all,

OC

I want to share my website https://novelty-insights.com - it has been a pet project of mine for the past 3 years. I am a data scientist who has been passionate about making visuals with my data, and I wanted to be able to share this with other people. My site allows users to upload their own data from Goodreads, Netflix and Spotify, and explore interactive visuals. This has allowed me to understand my own consumption habits more, and to pursue more diverse and interesting forms of content - I hope that it may have some similar effect, or other effect, on others.

There’s a lot one can pick apart from the visualizations, and I welcome it. I do want people to understand though that I found it so much harder to write code to generate visualizations from variable data, rather than a static data set. I definitely have trouble with some edge cases, which can lead to some really janky graphs. I used mainly Plotly for my visuals, but I’m transitioning to using Dash which I hope can be more interactive and responsive. I built the website with the Django framework, and was able to utilize a django-dash integration though it wasn’t easy. I had no front end or web coding experience when I started, and it’s still not something I’d claim to be!

The Goodreads data comes from the Goodreads site. Netflix comes from the uNoGS api at rapidapi. Spotify comes from their own API.

My favorite plots that I’ve shared here:

  1. Spotify top artist history. I break down one’s listening history to 10 segments and for each segment I find the top artist. Then I make a bar chart of how many minutes you’ve listened to that artist over the history. Spotify also provides an artist image that I share.
  2. Reading summary. I can break down books by fiction & non-fiction, the authors by their genders. I also plot a histogram of the book’s publication dates, show the longest books you’ve read, and your top genres.
  3. This one took the most work. I built a pipeline to look up the nationality of an author, and to make a world map of one’s reading.
  4. With Netflix, I plot a timeline of what one has watched, with points sized by # of episodes on the day. This graph can get messy, but I added some filtering and the hover overs help.
  5. With cast data, I’m able to create a network graph of what actors/actresses have been in multiple shows. This graph is interactive - click on a show to see what actors/actresses are in it. Click on a thespian and see what shows they are in.

Please feel free to join my site and try it out. It’s completely free and I have no plans to monetize it. I absolutely refuse to sell users’ data or use it without their permission. You can visit the site and just check out my galleries without uploading anything of your own or registering.

Thanks for sharing, @cal337 .
Sounds like a cool project. So is this current site developed with django-dash or just Dash?

Thanks, it is with django-dash. I built the site with Django first, and have been adding in more dash components made possible by django-dash. This is one of the pages built with django-dash: Novelty/goodreads/dash/dash_list.py at main · cal65/Novelty · GitHub

1 Like