Skip to content

Instantly share code, notes, and snippets.

Last active Dec 11, 2015
What would you like to do?


Kitherder is a web application that is designed to facilitate participation in the Security Mentorships program. Note that while this program is currently limited to security projects, the goal of KitHerder is to provide the matchmaking and relationship management features required to open the program to the Mozilla community.

The requirements here are driven by the documentation from the mentorship program and it is expected that the system will leverage accounts to reduce the amount of personal data stored in Kitherder, and issue badges using the Mozilla Foundation badge system based on participation criteria.


  • Mozillian - a user with an account on
  • Vouched Mozillian - a user who has been "vouched" on

Roles & Data

User Roles

  • Mentee - A mentee is a mozillian who has applied for a project and been accepted by a mentor.
  • Mentor - A mentor is a vouched mozillian who has been approved by a Coordinator to accept mentorships in a specific area
  • Coordinator - A coordinator is a vouched mozillian who has been granted privilege over a Mentorship Group to accept new projects, new mentors, and approve mentee/mentor relationships, and to resolve any failed mentorship relationships (cancel projects, assign new mentees or mentors)
  • Liasons - Liasons are vouched mozillians who represent an academic institution or third party providing compensation for mentorship (for example, recognition of a completed work practicum, academic grading, etc)

  • Project - a specific project, scoped, with a description

  • Mentorship Group - a group that projects are assigned to; one or more coordinators exist for each group

  • Status Board - the tracker page for a specific project, illustrating the milestones and success criteria for a project

  • Feedback - A comment system for Status Boards that Mentees, Mentors, Coordinators and Liasons can see, based on permissions and relationships to the project.


Unauthenticated Features

Search Projects - search open unassigned, underway, and assigned projects View Status Board - provide a view of a status board, the assigned mentee and mentor, without feedback Group & Project Directory - Provide a directory of the teams and associated projects that can be browsed

Mozillians Authenticated Features

Apply for a Mentorship - a mozillian should be able to apply for a project using the criteria documented on the application page. Once the application is submitted, the coordinator for the area of the project should be notified.

Apply to become a Mentor - a mozillian should be able to apply to become a mentor by submitting the information documented on the mentorship application. Once the application is submitted, the coordinator for the area of the project should be notified.

Propose Project - A vouched mozillian should be able to submit a new project proposal. This should capture the information detailed on the project proposal page. Coordinators can restrict this feature for their Group to a combination of Mentors and Liasons. Liasons should be able to submit to any area that is not explicitly blocking them.

Vouched Mozillians Authenticated Features

Accept Proposal - Coordinators can accept project proposals, including editing them. Assign Mentor - Coordinators can assign mentors to a project. Assign Mentee - Coordinators can assign mentees to a project.

Coordinator Features

** Accept Proposal ** - When a coordinator accepts a proposal it becomes a project that mentors can select (or be assigned to), and that mentees can apply for (or be assigned to)

** Assign Mentor ** - A coordinator can select a mentor from their area and assign them to a project.

Mentee Features

** Accept Mentor ** - When a mentee accepts the mentor the project is officially "assigned", and should not be available for further applications.

Mentor Features

** Accept Mentee ** - A mentor can accept a mentee for a project, which will notify the mentee of their acceptance and prompt them to complete the application process.

Liason Features

Administrative Features

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment