From MozillaWiki
Jump to: navigation, search

The Mozilla Open Badges team is developing BadgeKit, a set of tools to make badging easier. With a private beta version launched in March 2014, the BadgeKit project will be expanding throughout the year. BadgeKit is primarily focused on helping organizations to issue badges through a Web application and API for building earner interfaces.


BadgeKit evolved out of experience with real-world badging systems including Chicago Summer of Learning. Open Badges are being used in an ever-increasing range of contexts, with each community having its own set of unique needs. BadgeKit provides a set of open foundational tools to support various key badging processes, including creating, assessing and issuing.

Since the BadgeKit tools are free and open, organizations can use them to build the component parts in a badging system quickly, easily and in a way that suits their own community. BadgeKit takes care of the back-end in a badge issuing system using a Web application, with an API to support issuers' own front-end Web interaction with badge earners. This lets issuers retain control over the badge earning experience and over their earners' data.

The BadgeKit Web app includes a series of new utilities to speed up the badge creation process. The tools are modular, so that issuers can implement badging within existing systems. The aim with BadgeKit is to support growth and adoption within the badging ecosystem in a way that reflects Mozilla's values for openness, choice and interoperability.


BadgeKit is composed of two main component parts: a Web app and an API. The Web application handles back-end processing and provides a user interface for administrators in a badge issuing system. Issuers can use the BadgeKit API in conjunction with the Web app to interact with badge earners and ultimately support the full badging lifecycle within their own environments.

Web Application

The BadgeKit Web application provides badge issuing and assessment admin, within a simple to use interface, which is equipped with a range of utilities to aid common badging processes. Badge issuers can configure a range of user account types in BadgeKit, for badge creators and assessors. Once logged in, a BadgeKit user can access badge templates, draft badges, badge applications and data. The user can carry out a series of actions on badges and applications, including:

  • Creating new badges
    • badges can be created from templates, a new feature to enable remixing of badge elements
    • users can create and save draft badges, letting them work on badges over a period of time and optionally in collaboration with others
    • badge designs and metadata fields can all be defined using the BadgeKit interface, which includes explanatory information to help users complete the data items
    • milestone badges allow issuers to recognize cumulative skills and experiences.
  • Managing badge state
    • users can publish draft badges, making them available to earners
    • badges can also be archived, meaning they can no longer be earned but their data can still be viewed and used
  • Assessment and Issuing
    • assessors can view badge applications together with supporting information
    • badges can be issued from within BadgeKit.

Badge issuers can also manage BadgeKit accounts, defining the actions each user can carry out within the application. The UI provides various ways to view and navigate the badge and application data, making interacting with badge data quick and easy.

You can see a preview of the current BadgeKit app in action now: BadgeKit Tutorial

The BadgeKit Web application handles the administration part of a badge issuing system, but the issuer remains in control over interaction with their community of badge earners - BadgeKit supports this part of the process through the API.

BadgeKit API

BadgeKit is designed to provide much of the badge issuing processing, while still allowing issuers to fully customize the earner experience. For this reason, BadgeKit supports the earner-facing functionality in a badging system through API endpoints and webhooks issuer sites can use to facilitate badge earning within their own environment.

The BadgeKit app and API aid the processes of creating badges, publishing them and managing applications for them. The API endpoints and webhooks let you interact with the badge and application data as well as receiving notification of events such as badges being awarded.

The BadgeKit API complements badge issuing with the Web app to let you detect events and access badge data. For example:

  • an issuer administrator can create and publish a badge in the BadgeKit app
  • the issuer site can retrieve the list of published badges and present them to earners
  • earners can apply for the new badge through the issuer site listing (submitting evidence if necessary)
  • the pending application appears in the BadgeKit app
  • an assessor can view the pending application and make a decision to issue it, optionally providing feedback
  • the issuer site can receive notification from the API that the issuing decision has been made - it can then communicate with the earner.

These steps involve the BadgeKit Web app and API working in conjunction with one another.

This is an example of what an issuer might do with the BadgeKit app and API, but the nature of the tools means that you can configure each of the component parts to customize the functionality. The separation of badge issuing and assessment from interaction with earners lets organizations retain full control over their own badge data (and over communication with a community of earners which may include children and young people).

Using BadgeKit

In March 2014 BadgeKit was launched in private beta and the tools are still under active development. At the moment there are two options for using BadgeKit: private beta and installing BadgeKit on your own server.

The BadgeKit private beta is only available to select partners with specific technical resources (sign-up has now ended), but support for a wider range of badge issuers will be implemented at a future stage. The private beta is intended for organizations looking to play a role in BadgeKit's future, but if your organization doesn't fit that profile you can still get involved with BadgeKit. By using the code hosted on GitHub, you can create your own version of BadgeKit with all of the features in the hosted version and can make any alterations to the code that you need.

For private beta access, visit

To build an instance of BadgeKit on your own server, follow the Self-Hosting Guide.

You can browse the code for the BadgeKit API and app in the following GitHub repos:

Additional BadgeKit features will be announced through the year, including tools for sharing, collecting and discovering badges.

BadgeKit Resources

BadgeKit is still in the development stage, so expect lots of news throughout 2014! In the meantime, here are some additional resources for learning about the project: