Contribute

You can help Mathigon grow and improve.

There are many different ways in which you can contribute to Mathigon – whatever your interests or abilities are. We are working on many exciting projects, or email us is you have additional ideas. Of course we can give you all the help and advise you need.

Content

Write parts of the next Mathigon course or textbook.

Software

Create interactive content or new features for the Mathigon platform.

Design

Create illustrations or diagrams to make education more visual.

Support

Help test new courses and features, and support students with questions.

Translation

Make Mathigon more widely accessible around the world.

Content and Design

All our textbook content is open source and located on GitHub, including text, styling, images and videos, audio recordings, as well as code for interactivity. On GitHub you can also find instructions and documentation how to create new chapters.

To contribute new content, make additions, or fix mistakes, you need to create a GitHub account. Then you can send us Pull Request with your changes, which we'll review and deploy.

If you are unfamiliar with Git, please read these guides how to set up Git on your computer, and how to contribute code to public repos.

Mathigon/textbooks


Mathigon/world-of-mathematics

Engineering

Mathigon runs on open source technologies like Node.js, Express, Socket.io and WebComponents. We have also created our own set of powerful and performance focused front-end JavaScript libraries. Please tell us about bugs, add new functionality, or use them in your own projects:

  • Core.js is a set of universal JavaScript utilities, classes and helper functions.
  • Fermat.js is a library of mathematics functions and classes, from linear algebra to geometry, combinatorics, number theory or statistics.
  • Boost.js is a browser and DOM library, particularly designed for creating interactive or animated content. It also contains routing, ajax and audio classes.
  • Slate.js is a collection of reusable web components, including sliders, popups, lightboxes and parallax.

The core Mathigon platform is not open source. This includes the front-end textbook infrastructure as well as our machine learning algorithms that help personalise content, give useful hints or answer questions.

Please email us if you would like to be part of our engineering team, to have access.

Mathigon/core.js


Mathigon/boost.js


Mathigon/fermat.js


Mathigon/slate.js

Support

There are many non-technical ways to support Mathigon, including marketing and publicity, testing, and proof-reading new content. Please email us if you are interested.

We also need volunteers to interact with students and answer their questions – both on how to use Mathigon, and the mathematical content itself. We are currently building a support and ticket platform which will enable that.

Translation

Translating the content on Mathigon is a very complex task: we need to translate the text itself, but also captions and labels, images that contain text, mathematical equations, dynamic content, user input and more. Our immediate focus is creating new content, rather than translating existing content. However, once we start doing so in the future, your help will be very much appreciated.