$500 bounty to integrate Kendraio with MusicBrainz API

Tags: #<Tag:0x00007fea3947ad80> #<Tag:0x00007fea3947acb8> #<Tag:0x00007fea3947abc8> #<Tag:0x00007fea3947ab00> #<Tag:0x00007fea3947aa10> #<Tag:0x00007fea3947a8a8>

Our second bounty is to integrate the MusicBrainz API into Kendraio App. Kendraio App is our low-code bi-directional dashboard ‘data browser’ application. Within Kendraio App we’ve built Kendraio Player, a proof-of-concept for a multi-service music streaming player using web monetisation technology, funded by Grant for the Web towards their mission to create a healthier internet.

We want this integration to enable Kendraio App users to search and browse, and also upload information to MusicBrainz. To participate, we would like talented full-stack JavaScript developers to propose how they would integrate MusicBrainz with Kendraio App. For a ready-made example see https://app.kendra.io/musicbrainz/musicbrainzSearchArtists, and you can see how easy it is to create flows that connect to APIs.

  • Timeframe: 2 weeks
  • Bounty: $500 USD (paid out via Open Collective) – so you need to have an account here to be paid)
  • Please answer this bounty by replying to our GitHub issue.

We’re rewarding the individual (or group) that carries out this bounty in a transparent, interoperable, and easy to use way.

See how our first bounty went at Kendraio Player Audiotarky integration. And see Radhy’s write-up of his experience at Afterthought on integrating Audiotarky API into Kendraio App.

Deliverables

  • A proposal written out before work starts and agreed upon beforehand in our Google Drive.
  • Interfaces created in Kendraio App using Flows where a user can:
    • Look up information about a particular MusicBrainz entity (“give me info about The Beatles”)
    • Browse MusicBrainz to find entities connected to a particular entity (“show me all releases by The Beatles”)
    • Search for entities matching a specific query (“show me all artists matching the query ‘Beatles’”).
  • Interfaces created in Kendraio App using Flows where a user (artist) can:
    • Upload information about a specific music release to MusicBrainz via Kendraio App.

Technical details and source code

Evaluation

  • The bounty will be evaluated by the Kendraio Team and advisors.
  • Evaluation will be based on the completion of the task, as well as on how transparent, interoperable and easy to use it is.
  • The more you can commit to documenting and talking about your experience with Kendraio App the more excited we will be to work with you.

Requirements

Candidates should have some existing experience with JavaScript and web APIs. Must be willing to document and talk about their experience of working on the tasks in this bounty.

Process

Once a candidate has put themselves forward, our Kendraio developers will mentor them exclusively for 2 weeks (or more, by mutual agreement). If after the agreed-upon period tasks remain open, another candidate may be given the opportunity instead.

About Kendraio

Kendraio App is a general framework for creating low-code applications. Kendraio App was originally created to service the creative/music industry to enable easy asset and rights management both locally and on third-party platforms. But what we’ve ended up creating is a generic data browser that plugs into remote APIs and enables highly configurable low-code interfaces to be built. And we’ll use this framework as the basis of this project. Please check out these links before accepting this mission: Kendraio App demo, Kendraio App on GitHub, Kendraio App documentation, Kendraio App website. As you create this project your feedback will influence the direction and capabilities of the Kendraio framework.

The Kendraio App lets users build interfaces from blocks. The blocks themselves are plumbed together with modern JavaScript, TypeScript, and are configured using JSON. We have various backend APIs, and proxy endpoints hosted using Vercel’s serverless platform.

6 Likes

Oh wow! RK just blogged about this bounty! Awesome! And there’s a Tweet too! You can’t get a better endorsement than that! So how about someone taking us up on the offer?

1 Like

I’m a bit wary about the editing flow. I am not a fan of anything trying to bypass the MB entity editors and their associated validation.
And aside from a few small things like ISRC there are no (public) API endpoints for adding/editing data (AFAIK).

The query/browse flows would not be too hard, I expect - mostly a case of deciding which field(s) of each entity you want to visualise, and how deep you want to go with relationships.

There is the Release Editor Seeding, which allows release submission to be integrated as a browser based workflow. So editing remains on MB, but the app could provide the initial data. It’s what a lot of the import user scripts and the addrelease plugin of Picard use.

That might be a suitable option here.

1 Like

Thanks @Zastai for your caution regarding “bypass the MB entity editors and their associated validation”. I hear that. Makes sense. However, ultimately we want Kendraio to be able to cope with scenarios like this, where there are complex forms and complex validation. But without an API it will be not so easy to go in this direction at this current time, agreed.

1 Like

Thanks @outsidecontext for your great idea of using the Release Editor Seeding, as it seems, in the first instance, it will be a great step.

So @outsidecontext and @Zastai, it looks like we have a simplified way forward. But still well worth doing. Do you know of any developers how might want to pick this bounty up?

Also, perhaps to find some interested parties to work with… does anyone know people who created/maintain/use the import user scripts and the addrelease plugin of Picard that utilises the Release Editor Seeding?