MCPcopy Index your code
hub / github.com/eightants/whisperify

github.com/eightants/whisperify @v1.5.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.1 ↗ · + Follow
699 symbols 1,536 edges 87 files 2 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Whisperify

img

An interactive way to learn about your favourite songs on Spotify. Quiz yourself on your favourite playlists, create and share quizzes with friends, and compare listening habits through your personalities.

Whisperify chooses 10 songs from your top tracks or a playlist on Spotify, and plays you 5-second snippets, or 'whispers', of each song. You then get time to guess the song and get scored on your speed and accuracy.

Whisperify Analysis is the most complete visualization dashboard for Spotify audio features. Compare your listening habits with Spotify users from over 70 countries and the 16 Meyer-Briggs personalities, try analysing your favourite albums, or view a breakdown of your friends' tastes.

Whisperify is built with Angular, NodeJS, and hosted on Vercel with a MongoDB database.

Public API

As an open-source project, Whisperify is dedicated to give back. A public API is currently under works to provide endpoints to access audio feature analysis for Spotify users in over 70 countries and 16 personalities. Other endpoints are wrappers for the Spotify API combined with Whisperify's features: getting audio features for an album, getting clusters of genres for a user or artist, getting a recreated taste profile of a user.

Read the detailed API reference to learn more about the endpoints.

Development

Whisperify is made up of two projects, an Angular frontend and a Node backend. Clone this repository to your local machine, then run npm i in both /application and /server to install all required packages. Read the documentation to set up the configurations.

Certain features in Whisperify make use of machine learning. The case study behind those features can be found in the sub-project Carlos.

Pre-release Notes

  • v0.8.0 - First hosted. (18/01/2020)
  • v0.9.0 - Made responsive, style improvements on welcome page. (09/02/2020)
  • v0.9.1 - Metadata added, share functionality. (11/02/2020)
  • v1.0.0 - Survey implementation, public release. (27/02/2020)

Future Plans

  • Live collaborative song guessing
  • Leaderboard and badges
  • Brand new features to learn even more about your listening habits

To prioritise the development of any of these features, start a discussion on r/whisperify.

Core symbols most depended-on inside this repo

setTitle
called by 15
application/src/app/components/services/title-tag.service.ts
setSocialMediaTags
called by 15
application/src/app/components/services/title-tag.service.ts
getTracks
called by 15
application/src/app/components/services/spotify.service.ts
updateGraph
called by 12
application/src/app/components/analysis/analysis.component.ts
buildFeatureObject
called by 12
application/src/app/components/analysis/analysis.component.ts
normalizeLowVals
called by 12
application/src/app/components/analysis/analysis.component.ts
searchArtists
called by 5
application/src/app/components/welcome/welcome.component.ts
getRandomInt
called by 5
application/src/app/components/quiz/quiz.component.ts

Shape

Function 406
Method 219
Class 74

Languages

TypeScript100%

Modules by API surface

application/src/assets/d3.min.js374 symbols
application/src/app/components/services/spotify.service.ts29 symbols
application/src/app/components/analysis/analysis.component.ts28 symbols
application/src/app/components/welcome/welcome.component.ts22 symbols
application/src/app/components/quiz/quiz.component.ts17 symbols
application/src/assets/radar-chart-d3.js14 symbols
application/src/app/components/tutorial/tutorial.component.ts14 symbols
application/src/app/components/quiz/search/search.component.ts14 symbols
application/src/app/components/profile/profile.component.ts14 symbols
application/src/app/components/score/score.component.ts13 symbols
application/src/app/components/tracks/tracks.component.ts11 symbols
application/src/app/components/leaderboard/leaderboard.component.ts10 symbols

Datastores touched

whisperify-prodDatabase · 1 repos
analysis-prodDatabase · 1 repos
challenge-prodDatabase · 1 repos

For agents

$ claude mcp add whisperify \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact