(Writing this under the assumption you don't know this stuff, apologies if you do) - Hosting the data on gitlab or github would let you include a license file, to make sure that it doesn't get stolen and used commercially, and also let others propose direct changes that you could discuss and review before merging in. I think it would be a good idea!
Hadn't thought of that but that does seem like a good idea. Do you know what exactly I need to do? Just add a license file to the github repo? Which one?
Then you'd also need to set the repository to being public instead of private, which you can do in its settings, and then you could add a link to it from the website.
Can you give me an example of what you mean exactly?
Assuming this is what you mean, when there have been multiple inventions of a thing, I only record the first one and whatever predecessors led to it, ignoring other paths. There are occasionally times when two independent inventions are so close in time that I consider them together in a single node together with the predecessors from both (bromine is a case like this that I recently added).
Sometimes a successor tech depends on a non-first version of the tech that isn't itself recorded, so an alternative dependency path can show up there. E.g. tech C v1 gets invented with predecessor A, and tech C v2 gets invented a bit later with predecessor B, but doesn't get a node because it's too similar to v1. And then tech D gets invented from C v2 — in which case it gets both C and B as predecessors (and A implicitly as a predecessor of C v1).
The tech tree is intended as a model of history, so "paths that could have happened, but didn't" are excluded by design.
What you’re describing makes sense for a retrospective model of history: a cleaned, minimal graph that explains what actually happened, without branching into counterfactuals. Recording first occurrence, collapsing near-simultaneous inventions, and pruning alternative paths is consistent with that goal.
The distinction I was circling around is mostly about intent, not correctness. Your model answers the question “what happened, in the simplest faithful form?” Very effectively.
The angle I’m exploring sits one layer earlier in the process: situations where the model is not only descriptive but also has to remain internally stable while the canon is still forming — before history has “collapsed” into a single path. In those cases, the pressure comes from having to track discarded paths, near-misses, and local inconsistencies temporarily, because people are actively reasoning inside the system rather than studying it afterward.
So I think we’re largely aligned on structure, but applying it at different moments in the lifecycle: yours after convergence, mine before.
Your explanation helped sharpen that distinction for me. Thanks for taking the time to spell it out.
Yes, all those paths not taken would be fascinating to study, and indeed you are far from the first to ask me about that! The allure of tech trees is the idea that they might help us predict the future, but this would require dealing with a myriad possible branches from any node that would render the project far more complex. Maybe something like that is the logical next step in the project though.
THIS IS AMAZING! thank you for sharing this with the world. love to chat. currently working on a timeline for the history of nuclear fission energy and love to send over for feedback. cheers!
I've been navigating the website (for a bit more time that I would admit) and I think it is spectacular.
If possible, I would recommend an easy way to provide feedback (maybe just a button to send an email). That would allow people to chip in some information that would help to address some gaps people may find.
I should probably add some sort of help or settings menu too, and bundle that with a feedback button as a floating element at the bottom right or something. Thanks for the feedback :)
Not sure if mind maps, process maps, and concept maps fall under the same category of your entry for world maps, but they may be worth mentions as they are abstraction technologies just as much as double-entry bookkeeping is. To be totally recursive, you should definitely have an entry for ‘historical tech tree’ in your historical tech tree.
Hmm, good question! I didn't include double-entry bookkeeping, under the general assumption that techniques to organize information (rather than produce a physical artifact meant to be used, like a geographical map) stretch the definition of technology rather too far, but my data isn't fully consistent on this. When and by whom would you say those abstract maps were invented?
Concept maps were invented around 1972 per Perplexity and (from the same AI search) mind maps perhaps first appeared around 300 AD via Porphyry of Tyros. For process maps, I have Frank Gilbreth in 1921.
That's rather a graph, though, not a tree, which brings me to my first question: do you plan to share this as a text file? (Then it will be easy to turn it into an interoperable graph format, Turtle or JSON-LD)
I see Computing and Communication fields. What about more generally, ICT? Here (https://www.linkandth.ink/p/decoupling), for example, I review a trend in the history of information technology that I hoped to see in some way visualised in your tool.
It's a directed acyclic graph! The term 'tree' is a historical artifact from games but tech trees have never been mathematical trees :)
There is a JSON file underlying this but I still need to think about how I want to make the data public beyond the tree app itself. As for information technology, any particular examples seem like they should be added to the list? Perhaps the library catalog (the Pinakes of Alexandria?) deserves a spot, followed by decimal classification in the late 19th century.
Nice! I do need discrete units that represent major, not incremental, contributions. And also are clearly technology—which I'm not sure classification systems count as? I do have things like binomial nomenclature in the tree already... It's an interesting edge case, I'll have to think about it.
Ha I tried implementing zoom a while ago and it worked SO POORLY. So I defaulted to using the browser zoom too. But the LLMs have gotten better so I should try again!
There isn't really a consistent scaling function for the timeline, I just came up with reasonable time periods and intervals. Every year is shown starting in 1750; every 5 years from 1500 to 1750; every 20 years from 200 BC to 1500; and then progressively larger intervals as we move further into antiquity and prehistory.
Yes, I remember yours and in fact I consulted it many times over the course of this project! At some point I'll probably write a post on the several similar tech history representations I've seen.
This is awesome
This is absolutely incredible, holy shit. Amazing work
(Writing this under the assumption you don't know this stuff, apologies if you do) - Hosting the data on gitlab or github would let you include a license file, to make sure that it doesn't get stolen and used commercially, and also let others propose direct changes that you could discuss and review before merging in. I think it would be a good idea!
Hadn't thought of that but that does seem like a good idea. Do you know what exactly I need to do? Just add a license file to the github repo? Which one?
If you already have one, then the conventional thing is to just add a file named “LICENSE” to the top folder of the repository. Github has some helpful documentation and also some links to some guidance on choosing the right license: https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository
Then you'd also need to set the repository to being public instead of private, which you can do in its settings, and then you could add a link to it from the website.
Thanks for sharing this — in the section where you discuss assumptions and discretization:
how do you handle cases where there are alternative but historically plausible dependency chains?
Do you see this as a versioning problem, a matter of manual arbitration, or do you want the tree to remain a single, rigid model?
Can you give me an example of what you mean exactly?
Assuming this is what you mean, when there have been multiple inventions of a thing, I only record the first one and whatever predecessors led to it, ignoring other paths. There are occasionally times when two independent inventions are so close in time that I consider them together in a single node together with the predecessors from both (bromine is a case like this that I recently added).
Sometimes a successor tech depends on a non-first version of the tech that isn't itself recorded, so an alternative dependency path can show up there. E.g. tech C v1 gets invented with predecessor A, and tech C v2 gets invented a bit later with predecessor B, but doesn't get a node because it's too similar to v1. And then tech D gets invented from C v2 — in which case it gets both C and B as predecessors (and A implicitly as a predecessor of C v1).
The tech tree is intended as a model of history, so "paths that could have happened, but didn't" are excluded by design.
Yes, that clarifies it — thank you.
What you’re describing makes sense for a retrospective model of history: a cleaned, minimal graph that explains what actually happened, without branching into counterfactuals. Recording first occurrence, collapsing near-simultaneous inventions, and pruning alternative paths is consistent with that goal.
The distinction I was circling around is mostly about intent, not correctness. Your model answers the question “what happened, in the simplest faithful form?” Very effectively.
The angle I’m exploring sits one layer earlier in the process: situations where the model is not only descriptive but also has to remain internally stable while the canon is still forming — before history has “collapsed” into a single path. In those cases, the pressure comes from having to track discarded paths, near-misses, and local inconsistencies temporarily, because people are actively reasoning inside the system rather than studying it afterward.
So I think we’re largely aligned on structure, but applying it at different moments in the lifecycle: yours after convergence, mine before.
Your explanation helped sharpen that distinction for me. Thanks for taking the time to spell it out.
Yes, all those paths not taken would be fascinating to study, and indeed you are far from the first to ask me about that! The allure of tech trees is the idea that they might help us predict the future, but this would require dealing with a myriad possible branches from any node that would render the project far more complex. Maybe something like that is the logical next step in the project though.
Tracing newer tech's highlighted ancestors all the way back through millennia is an incredible experience. Amazing
Incredible stuff – will be in my next links roundup!
Awesome, thank you Sam!
THIS IS AMAZING! thank you for sharing this with the world. love to chat. currently working on a timeline for the history of nuclear fission energy and love to send over for feedback. cheers!
I've been navigating the website (for a bit more time that I would admit) and I think it is spectacular.
If possible, I would recommend an easy way to provide feedback (maybe just a button to send an email). That would allow people to chip in some information that would help to address some gaps people may find.
Thank you!! There is a "Contribute" button for this at the top left, but you're right that I might want to make that more obvious.
I completely missed it!
It is only shown if you go back to the beginning of the timeline. You should probably consider making it a floating element (like search is)
I should probably add some sort of help or settings menu too, and bundle that with a feedback button as a floating element at the bottom right or something. Thanks for the feedback :)
So cool
Cool AF
Not sure if mind maps, process maps, and concept maps fall under the same category of your entry for world maps, but they may be worth mentions as they are abstraction technologies just as much as double-entry bookkeeping is. To be totally recursive, you should definitely have an entry for ‘historical tech tree’ in your historical tech tree.
Hmm, good question! I didn't include double-entry bookkeeping, under the general assumption that techniques to organize information (rather than produce a physical artifact meant to be used, like a geographical map) stretch the definition of technology rather too far, but my data isn't fully consistent on this. When and by whom would you say those abstract maps were invented?
According to this maybe 14,500 BC?
https://nesslabs.com/thinking-in-maps
Concept maps were invented around 1972 per Perplexity and (from the same AI search) mind maps perhaps first appeared around 300 AD via Porphyry of Tyros. For process maps, I have Frank Gilbreth in 1921.
Félicitations! 🌳
Nice work!
That's rather a graph, though, not a tree, which brings me to my first question: do you plan to share this as a text file? (Then it will be easy to turn it into an interoperable graph format, Turtle or JSON-LD)
I see Computing and Communication fields. What about more generally, ICT? Here (https://www.linkandth.ink/p/decoupling), for example, I review a trend in the history of information technology that I hoped to see in some way visualised in your tool.
It's a directed acyclic graph! The term 'tree' is a historical artifact from games but tech trees have never been mathematical trees :)
There is a JSON file underlying this but I still need to think about how I want to make the data public beyond the tree app itself. As for information technology, any particular examples seem like they should be added to the list? Perhaps the library catalog (the Pinakes of Alexandria?) deserves a spot, followed by decimal classification in the late 19th century.
There are many more. Here's just one example https://www.tandfonline.com/doi/abs/10.1080/0268117X.2004.10555543
Nice! I do need discrete units that represent major, not incremental, contributions. And also are clearly technology—which I'm not sure classification systems count as? I do have things like binomial nomenclature in the tree already... It's an interesting edge case, I'll have to think about it.
Oh this is so cool, I’ve worked on similar ideas but nothing so thorough
Curious to see what you have!
I request zoom! :) (Incidentally, I can zoom out using my browser's zoom in/out and it works OK?)
Also, I'm wondering—is there a consistent scaling function being applied to years? Or maybe it just just jumps from 100k -> 50k -> ... -> 5 -> 1?
Ha I tried implementing zoom a while ago and it worked SO POORLY. So I defaulted to using the browser zoom too. But the LLMs have gotten better so I should try again!
There isn't really a consistent scaling function for the timeline, I just came up with reasonable time periods and intervals. Every year is shown starting in 1750; every 5 years from 1500 to 1750; every 20 years from 200 BC to 1500; and then progressively larger intervals as we move further into antiquity and prehistory.
I can zoom in, but not out beyond the starting point, which would be necessary to get an overview.
This is super cool. I'd built one a while back too, for an essay. Been meaning to vibe code it into a more presentable form, but you might be interested: https://docs.google.com/spreadsheets/d/1nbAHr_0R_NJk65wRjfz3U4fGZ0d_UNq5iGjs5t8v__M/edit?gid=709208086#gid=709208086
Essay was this: https://www.strangeloopcanon.com/p/innovation
Yes, I remember yours and in fact I consulted it many times over the course of this project! At some point I'll probably write a post on the several similar tech history representations I've seen.