- Licence
- PolyForm NC 1.0.0
- Modules
- 1 live / 4 planned
- Maintainers
- 1
- Review
- Evenings & weekends
Contribute
NeuronCanvas is source-available and built in the open, free for noncommercial use under the PolyForm Noncommercial License, with a paid commercial license available. It only grows one module at a time, so the most valuable contributions right now are focused, well-scoped ones.
01 / 05
Eight things that would genuinely help
This is a small project with one maintainer, so the most useful contributions are the well-scoped ones. Roughly in order of how much difference they make:
- 01
Tell me where an explanation fails.
You read a concept page, hit a paragraph you had to re-read three times, and can say roughly why. Quote the sentence in an issue. This takes two minutes and it's the most valuable thing anyone sends me, because I can't see my own blind spots in material I already understand.
Open an issue - 02
Report a broken interaction.
A slider that won't drag with a stylus, a canvas that overflows on a narrow phone, a colour pair that fails contrast in light mode. Include the device and the browser and it's usually fixable the same week.
Report a bug - 03
Check the maths.
If you know a topic well and an explanation here is imprecise in a way that will mislead someone later, say so, including which simplification is acceptable and which isn't. Correctness complaints get priority over everything else.
Open an issue - 04
Draft a concept page.
Modules are written before they're built. A clear plain-language draft of “what is a convolution kernel,” with notes on what the interactive should let you do, is a real head start even if you never touch the code.
See the module structure below
- 05
Build a module.
Convolutional networks, RNNs, GANs and transformers are all planned and unstarted. Each follows the same component system as Neural Networks, so most of the scaffolding already exists - the work is the teaching, not the plumbing. Open an issue first; scoping this together saves everyone a rewrite.
Discuss a module - 06
Improve a shared component.
Sliders, network canvases and loss charts live in src/components/ui, src/components/viz and src/components/playground. Accessibility, animation and mobile-behaviour fixes here improve every module at once, including the ones that don't exist yet.
Browse the components - 07
Fix a rough edge.
Unclear labels, a confusing control, an interaction that's fine on desktop and awkward on a phone. Small and concrete is the easiest first contribution and always welcome.
Good first issues - 08
Translate.
The concept-page text is short by design, which makes it a good translation target, but i18n support isn't built yet. If translation is what you want to do, say so in an issue; it moves up the queue when someone's actually waiting on it.
Register interest
02 / 05
Getting it running locally
It's a standard Next.js app with no database, no environment variables, no API keys and no external services. Clone it and it runs.
That's the entire setup - the site comes up on localhost:3000. Every page you can visit is a file under src/app, every reusable piece is under src/components, and the curriculum's structure (module list, page order, groupings) is plain data in src/lib/curriculum. Nothing is generated at build time from anything you can't read.
03 / 05
How a module is put together
Every module is the same three things: an ordered list of pages as data, one file per concept page, and a set of interactive demos those pages embed. Neural Networks is the reference implementation - seventeen pages and eighteen demos - and a new module is a copy of that shape with different content.
The hard part is never the wiring - the shells, navigation, prev/next and layout all come from shared components. The hard part is deciding the order the ideas go in, and building an interactive that's honest enough to be worth putting on the page. Budget accordingly, and open an issue before you start.
04 / 05
What happens after you open a pull request
One person reviews these, in evenings and at weekends, so here are honest expectations. You'll usually hear something within a week. If a change is small and clearly right, it gets merged. If it rewrites how a concept is explained, expect a conversation first - the teaching decisions on this site are deliberate and the reasoning is usually worth talking through before the code changes.
Nothing gets closed without a reason, and "this doesn't fit the direction" counts as a reason I owe you rather than one I get to leave implied. If a pull request has gone quiet for more than two weeks, a nudge on the thread is welcome and not rude.
05 / 05
Licence and conduct
- 01
How contributions are licensed
NeuronCanvas is dual-licensed: free to read, fork and reuse for noncommercial purposes under the PolyForm Noncommercial License 1.0.0, with a separate paid licence for commercial use. Contributions are covered by the same terms as the rest of the project -
CONTRIBUTING.mdhas the exact wording, and it's worth reading before a first pull request rather than after. - 02
How people are expected to behave
The project follows a standard code of conduct: be decent to people, assume the person asking a beginner question is exactly who this site is for, and take disagreements about teaching decisions as disagreements about teaching decisions. Report anything that needs reporting through a repository issue.
The best first step is an issue, not a pull request.
Whether you want to build a whole module or you just found one sentence that didn't make sense, starting a thread is the right move - it costs you two minutes and it means nobody builds the same thing twice.