Building HTM Systems (WIP Document)


I recently asked who was building HTM systems and got quite a few people respond. That’s great, because I’m starting a big educational project, called Building HTM Systems. It is an interactive document with visualizations and sample code. It will explain SP and TM in enough detail that readers can implement it themselves, complete with running sample code and live visualizations in the browser (the sample HTM will be in JavaScript). I’m currently working on it at

This is a big project and I just started on it. I’d like to share updates and new content when I make progress, which is why I’m posting now.

I’m trying to explain why choosing receptive fields when setting up spatial pooling is important. You can see a couple of new visuals at Please try them out and give feedback if you have any. This format is new to me and I’m trying to take advantage of it entirely.


Biological and Machine Intelligence (BaMI)
HTM School Video Review
Who is currently Building HTM Systems?

Dude! This is looking really good! Keep it up!

I can’t wait see how this shapes up!


Takes shape at great pace :slight_smile: keep up the great work


A post was split to a new topic: How to implement Cortical Columns


It is excellent, especially because it presents the functioning of HTM in a dynamic and interactive way. I am new to the theory and as for the Spatial Pooler I was very clear about its operation as detailed on the website. I look forward to the following parties with enthusiasm


FYI: the URL changed to This, also, is probably temporary. I had to transfer the wordpress site and this made it easier, long story.


Thanks Matt, I really enjoy yours videos and I think I understood some ideas that are really cool like encoders, SP and SDR.


The next phase in the SP docs is running computation. Before I can do that, I need to have at least one encoder, so now I’m working on number encoder docs. I have one visualization sort-of done (will be tweaked).


Super cool project, looks great! I’m a fan of D3/Observable with the interactive style, it will make it easy to learn when you can modify the code and see changes.


If anyone wants to work on this, now is a good time. I will not have time to work on it for several months.


Sad to read that, I was just going to ask if there where any plans on adding temporal memory and the rest that is covered in the HTM School videos


I got lots of plans, no time to implement them all. I will get back to this document after I’ve produced 2 more HTM School videos and a new conference talk.


Just to clarify, by ‘this’ do you mean the number encoder docs overall?


Sure or more if you want