I found the part of your repo saying " Googled around, found this (Swedish) which was interesting. Another datapoint to the claim that there's no such thing as a new idea. I should gather info from that blogger." and found it aptly ironic. Seems we all had the same idea.
When thinking about implementing such a concept, I ran into the same problem as you regarding the myriad different ways this could be represented or stored. Currently I think the best way is to create a hierarchy with the atomic units consisting of tuples of the form <concept name, description, video, article/guide, links and further reading>. Let these be vertices, then you can add directed edges representing dependencies to the graph so long as the graph remains partially ordered. Then you can just organize (potentially overlapping) subgraphs into ever-larger units such as tracks, courses, subjects, etc.