Google Code-in / 2018 / 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); outreach/research (O/R); quality assurance (QA); or Design (UI)



  • 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) (this might not work because of the thing status)
  • 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 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 classical music CD (ideally of music from your country) 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-8360: Modify template code to display relationships to our other project. BookBrainz (CODE/UI)
  • turn script's functionality into serverside code. (CODE)
  • turn script's functionality into serverside code. (CODE)
  • write a date format parser user script (CODE)
  • add subtickets for family/ensemble instruments: Research Gamelan instruments and add tickets (D/T)
  • add subtickets for family/ensemble instruments: Research Veena and add tickets (D/T)
  • add subtickets for family/ensemble instruments: Research [insert] instruments and add tickets (D/T)
  • create a visualisation of an instrument-family. () (O/R)

Data editing / curating

  • Find X type:Person Artists with no gender set: research and set gender as appropriate (O/R)
  • Find X Artists with no type set: research and set type as appropriate (O/R)

YouTube videos

  • How to create an account (and update profile data) (D/T; O/R)
  • How to add an Event (D/T; O/R)
  • How to add a Work (D/T; O/R)
  • How to add a Place (D/T; O/R)
  • How to add a Series (D/T; O/R)
  • How to Merge Releases (D/T, O/R)
  • How to Add Disc IDs (tool agnostic) (D/T, O/R)
  • Describing the life-cycle of an edit (D/T, O/R)

Wiki / Docs (D/T)

  • MusicBrainz: Make the How to Add Disc IDs article more tool agnostic, so it can be used when coming from another tool than Picard. (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-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-24PLUGIN_API_VERSIONS is not documented D/T
PW-20Download buttons don't work in IE8 CODE
PW-14Document the process of adding plugins to the plugin list D/T
None Document the hooks and process to connect a plug-in to Picard v2.x (a "how-to" manual for plugin developers) O/R, D/T


  • 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-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-198: Currently, LB directly uses redis for caching purposes, it'd be better to use brainzutils instead as all MeB projects use that. (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)
"Feature request: grab cover art" (Cover Art Archive integration)
  • Needs to check whether it's a feature that's actually wanted upstream. (CODE, QA, UI)
"Handle multiple identical discs in one release" (O/R, UI → CODE)
"Discussion: interactive vs non-interactive disc/release selection" → do research and come up with a proposal for how a workflow might work
  • Once this is done and approved, a new task can be made to implement said workflow. (CODE)
"Alternative tagging for classical releases" (CODE)
"Use the track title instead the recoding title" (CODE)
Include more MusicBrainz IDs in ripped files. (CODE, QA)
Allow debug command to look up information based on based Disc ID as well as Release MBID (CODE)
Write "musicbrainz_discid" tag even when disc is otherwise unknown (CODE, QA)
"musicbrainz calculation fails on cd with data tracks that are not positioned at the end" (CODE, QA)
Mock network requests to MusicBrainz during testing instead of making actual requests
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