Contribute

Built by the community

Every lesson, translation, and dataset here came from someone like you. Here's how to add yours.

Open the repo

Ways to help

Fix a typo or error

Spotted a mistake? Use the "Edit this page" link on any lesson to open a quick pull request.

Write a lesson

Add a new lesson or improve an existing one. Lessons are plain Markdown under content/<locale>/.

Add a translation

Translate a lesson or the UI strings into your language — every locale lives in its own folder.

Share a dataset

Contribute a clean sample CSV others can practice with under public/sample-data/.

The contribution flow

1

Fork the repo

Click Fork on GitHub to get your own copy.

2

Make your change

Edit Markdown in content/, or components/pages in app/. Run pnpm dev to preview.

3

Open a pull request

Push your branch and open a PR. Describe what you changed and why.

4

Review & merge

A maintainer reviews it, suggests tweaks if needed, and merges. You are now a contributor!

Where things live

  • content/<locale>/ — lessons (Markdown), one folder per language
  • i18n/locales/ — UI translation strings (JSON)
  • public/sample-data/ — sample datasets (CSV)
  • app/ — pages, components, and styling