Development/Summer of Code/2017
This page captures our ideas for Google Summer of Code projects for 2017:
Bitmap: Please add ideas!
BigQuery upload and statistics
New machine learning infrastructure
Storage for detailed analysis files
Direct access to MusicBrainz database
Proposed mentor: Gentlecat
Languages/skills: Python, Flask, SQL (PostgreSQL, SQLAlchemy), Docker, Consul
So far, the biggest cause for slowdown in CritiqueBrainz are requests to MusicBrainz web service. It's not that MusicBrainz WS is slow, it's just that some pages on CritiqueBrainz require a lot of MusicBrainz data, which might take a very long time to retrieve. This can be caused by the complexity of a request, or by a number of them (when showing multiple items, since there's no way to do batch-requests).
New infrastructure allows us to easily read data directly from the MusicBrainz database. Doing this in CritiqueBrainz will probably be a significant speedup.
Create charts/graphs for user behaviour
Proposed mentors:mayhem, alastairp
Languages/skills: Python, Flask, BiqQuery, InfluxDB, data science, graphing, visualization, data architecture
ListenBrainz is preparing to stream its listen data to Big Query where anyone can have access to it in real time. From this data that is stored in BigQuery we wish to have a student build a general charting/graphing system that allows future contributors to explore the data with BigQuery. Any user should be able to craft a query that can be turned into a graph/visualization on the ListenBrainz site, with minimal effort. If a user crafts an interesting query, they should be able to open a pull request and supply the details of the query in order for the LB team to add this graph to the site.
This project requires building the behind the scenes BigQuery access, caching, periodic updates and synchronization between the ListenBrainz server and the BigQuery data store.
Lordsputnik, Leftmost, Leo: Please add ideas!