close

Developer Tools

Bandwagon is built on Emissary, the social web toolkit, which handles most of the work of generating and serving web pages and ActivityPub endpoints. Bandwagon itself is essentially a custom configuration of an Emissary server that is dedicated to musicians, albums, and songs.

Bandwagon’s source code is remarkably small, consisting of HTML templates and JSON configuration files, so it is easy to make changes to Bandwagon itself. The Emissary website can show you how to customize Bandwagon templates. If you want to move some content, or change a form value, this is where you should start. If you know HTML and htmx, you’re good to go.

Emissary is a sophisticated app built with Go and Mongodb. If you want to add capabilities to Bandwagon such as new rules for social activities, you may need to make changes here. The Emissary website has plenty of documentation on how to enhance Emissary but the learning curve is much steeper than changing Bandwagon.

Connecting to Bandwagon

Here are some of the Emissary services that Bandwagon uses to provide a rich musical ecosystem.

  • Webhooks API notifies external services of server events, such as: an album being created, updated, or deleted.
  • Syndication API notifies external services when an artist chooses to share their work.