Google Code-in / 2017 / Task suggestions

This page has not been reviewed by our documentation team (more info).

Various small-ish thing that may be good for Google Code-in. Please feel free to add stuff to this page. Take a look at the three links below for inspiration about what kind of things are eligible for being GCI tasks.

Note: Please mark in parentheses which of the categories the task belongs to (multiple can be assigned): coding (CODE); documentation/training (D/T); quality assurance (QA); user interface (UI); or outreach/research (O/R)



  • take a picture of an instrument that doesn't already have a picture in commons, and upload it to commons (be sure to read all the rules and guidelines in wikimedia commons first) (D/T)
  • find an instrument that is not already in the database, then do as much research on it as possible, find wikidata item, how it relates to the other instruments, what an appropriate disambiguation and description (NOT wikipedia copy pasta) is, and then create a complete INST ticket with all the necessary information. (D/T)
  • pick an open INST ticket, and research as much as possible about it and add that information to the ticket (D/T)
  • find your favourite artist/group in the database, and add releases, singles and social media links to it (D/T)
  • look into your parents old albums! (ask for permission first) add a release that is not already in the database. (D/T)
  • find a release on bandcamp that is not in the database and add that. (there are userscripts you can use) (D/T)
  • find a band/group where the members are not linked with relationships. link, and if necessary, add those people to the database. (D/T)
  • look through and find something you like, and add that. (extra research might be necessary) (D/T)
  • find 3(6?) artists that doesn't have their twitterlinks linked to their Musicbrainz entry and add those. (D/T)
    • as above but any other type of social media link we want to add, I picked twitter because it's fairly accessible and easy to verify.
  • find an artist with the same first name as you, and improve (or add if not already in the database!) their entry. (D/T)
  • go to your local library and rent a cd of (insert name of composer we'll be doing in December) and add everything including all the relationships (D/T)
    • for bonus points: scan the entire booklet and upload to caa
  • find a release in the database that you/our family own a cd release of, and scan every part of that cd & booklet, and upload to caa (make sure it is the same release!) (D/T)
  • pick something you own digitally, add that to musicbrainz. (often there are things that are both digital and cd, those are separate releases in mb.) (D/T)
  • MBS-9381: Modify template code to mention own private collections to editors. (CODE/UI)
  • MBS-9249: Update documentation of advanced query syntax for Events, Series, etc. (DOC)
  • MBS-8576: Modify template code to show work type description/documentation. (CODE/UI/DOC)
  • MBS-8360: Modify template code to display relationships to our other project. BookBrainz (CODE/UI)
  • MBS-5345: Modify javascript code to guess the capitalization of French titles with at most two words. (CODE)
  • turn script's functionality into serverside code. (CODE)
  • turn script's functionality into serverside code. (CODE)
  • turn script's functionality into serverside code. (CODE)
  • write a date format parser user script (CODE)

Wiki / Docs (D/T)

  • ListenBrainz: (jira:LB-213) Add some usage examples to the ListenBrainz API documentation. (D/T)


MusicBrainz Picard

JIRA Ticket Description Category
None Tag a release with Picard O/R
None Make a video explaining how tagging with Picard works. For reference use Picard Quick-Start guideD/T, O/R
None Write a useful Picard tagger scriptD/T
None Replicate 5 bugs on the Picard issue tracker and provide debug logs for the same, along with conditions to trigger the bug (only applicaple for tickets which are missing these.) Q/A
None Conduct a Picard hands-on workshop/presentation in your school. You can find some sample presentations on the wikiO/R, D/T
PW-59Update the picard quick-start with GIFs demonstrating the tagging proccess D/T, O/R
PW-45Documentation changes for PICARD-1034 D/T
PW-41Plugins table sortable CODE
PW-35Update the how to tag files to include the fact that picard is not a mass tagger D/T
PW-33Documentation changes for PICARD-923 D/T
PW-32Documentation changes for PICARD-384 D/T
PW-30Missing documentation for _artists_sort, _albumartists, _albumartists_sort D/T
PW-29Documentation changes for PICARD-865 D/T
PW-28Documentation changes for PICARD-887 D/T
PW-25Update dependencies CODE
PW-24PLUGIN_API_VERSIONS is not documented D/T
PW-23Favicon doesn't include adornments CODE
PW-20Download buttons don't work in IE8 CODE
PW-18Review the various tag listings D/T
PW-14Document the process of adding plugins to the plugin list D/T


  • Write a review of your favorite album on CritiqueBrainz. Also, write a review of a place and an event.
  • jira:CB-95: Add WYSIWYG support for the review editor (for Markdown).
  • jira:CB-239: Reference review style guide from review editor.
  • jira:CB-263: Published date also includes date when saved as a draft
  • jira:CB-55: Separate most used languages in language selector on review creation page
  • jira:CB-253: "Admin" and "moderator" are used interchangeably in the codebase


  • Import your listens from Last.FM if you have a Last.FM account and note any issues if you find them. (O/R)
  • Use the Simple Last.FM Scrobbler Android App to submit listens to LB for a few hours. (O/R)
  • Set up Spotify to submit listens to LB and use it for a few hours. (O/R)
  • jira:LB-212: Show the MetaBrainz logo instead of the MusicBrainz logo on the LB website footer. (UI / CODE)
  • jira:LB-148: Write tests for the API Compat feature of LB. (CODE / QA)
  • jira:LB-83: Add a list of LB compatible players (with instructions on how to use them) to the LB website. (D/T)
  • jira:LB-85: Make usernames in LB case-insensitive. (CODE)
  • jira:LB-198: Currently, LB directly uses redis for caching purposes, it'd be better to use brainzutils instead as all MeB projects use that. (CODE)
  • jira:LB-196: Remove duplicated code from LB's different modules (CODE)

Design (User Experience, User Interface and Graphics)

  • Organize the "MeB repository" of design assets (project logos, icons, and fonts) for systematic and quick access.
  • Update the redesigned footer on the MusicBrainz website.
  • Take part in an ongoing usability test for an interface.
  • Try and edit the MusicBrainz database. Record your screen while doing so. Point out all the "user experience* glitches you faced while doing so.
  • Conduct a user testing (users can be your friends as well) of a redesigned interface
  • Pick a few features of MusicBrainz and do a competitive analysis of them across a few other websites.

Sidenote: “Help will always be given at MeB to those who ask for it.”

Cover Art Archive


Rough ideas (not yet categorized)

  • Add 5 <entity>s to BookBrainz and comment on how you find the process
  • Pick a function in the server and write unit tests for it
  • Add flow type annotations to a module
  • Design new badge graphics
  • Document a function
  • Try to crash our test server for an hour, then write a report of what you tried and whether it worked
  • Find duplicate functions and refactor
  • Design icons for our entities
  • Research open book information APIs
  • Research library data exchange formats
  • Create a video of how to edit BookBrainz using the new editing interface on the test server

3rd party projects


whipper (CODE)
Include more MusicBrainz IDs in ripped files. (CODE)
Allow whipper to query a custom MusicBrainz server. (CODE)
"Alternative tagging for classical releases" (CODE)
"Use the track title instead the recoding title"
Rip a CD already in MusicBrainz, report on behaviour (QA)
Rip a CD not currently in MusicBrainz, report on behaviour (QA)

Userscripts / Importers

  • test importers (see Guides/Userscripts#Importers) and create tickets for broken ones
  • fix a broken importer (CODE javascript)
  • improve an existing importer
  • add a new importer