TechTree is an interactive technology tree, dependency graph, and history-of-technology dataset for exploring how human technologies connect across eras. It maps inventions, methods, infrastructure, scientific tools, and future roadmap technologies from ancient foundations to modern and emerging systems.
The current validated dataset contains 1,657 curated technologies stored as era-specific JSON files under data/.
- Trace prerequisites and downstream unlocks for a technology.
- Explore compact subfield maps for CRISPR, semiconductors, AI/ML, energy, spaceflight, robotics, diagnostics, climate, agriculture, cybersecurity, transportation, materials, telecommunications, water/sanitation, and pharmaceutical drug development.
- Compare technologies across Ancient, Classical, Medieval, Renaissance, Industrial, Modern, and Future eras.
- Use the validated JSON data as a knowledge graph seed for research, education, simulations, or AI tools.
- Add new technologies safely with prerequisite validation, duplicate checks, cycle detection, and quality audits.
- Graph View: a Vis Network dependency graph with search, era and field filtering, focused dependency context, source metadata, and editable entries.
- Sorted View: a compact branch/table browser for scanning technologies by era, dependency depth, branch, field lens, maturity, and roadmap status.
Requirements:
- Node.js 14 or newer
Install dependencies and start the local server:
npm install
npm startOpen:
- Graph view:
http://localhost:3000 - Sorted view:
http://localhost:3000/sorted.html
The server listens on port 3000 by default. Use PORT to run on a different port:
PORT=8080 npm startFor a browse-only deployment, disable write operations:
TECHTREE_READ_ONLY=true npm start- Search technologies by name or ID.
- Filter the graph by era or curated field lens.
- Focus the graph around selected technologies and their direct dependency context.
- Inspect prerequisites and unlocks from the side panel.
- Add, edit, or delete technologies when not running in read-only mode.
- Browse a compact sorted view grouped by derived technology branches.
- Use field lenses for focused exploration, including mechanical engineering, finance/markets, genome editing, semiconductor technology, AI/ML, energy systems, spaceflight, robotics, diagnostics, climate, agriculture, cybersecurity, transportation, materials, telecommunications, water/sanitation, and pharmaceuticals/drug development.
- Explore cited CRISPR/Cas9, semiconductor/integrated-circuit, AI/ML, energy/grid, spaceflight/satellite, robotics/autonomy, medical diagnostics, climate/environment, agriculture/food, cybersecurity/cryptography, transportation/logistics, materials/manufacturing, telecommunications/networking, water/sanitation, and pharmaceuticals/drug-development verticals with maturity labels, source links, and roadmap forecasts.
| Field lens | Purpose |
|---|---|
| Genome Editing / CRISPR-Cas | Trace CRISPR foundations, editing platforms, delivery, safety assays, therapeutics, and likely next steps. |
| Semiconductors & Integrated Circuits | Explore the chip stack from semiconductors and transistors through lithography, EDA, memory, accelerators, packaging, and roadmap nodes. |
| Artificial Intelligence & Machine Learning | Navigate symbolic AI, classical ML, neural networks, foundation models, MLOps, evaluation, alignment, and agentic roadmap technologies. |
| Energy Systems & Grid | Connect generation, transmission, storage, renewables, nuclear/fusion, microgrids, and long-duration storage. |
| Spaceflight & Satellites | Follow launch vehicles, spacecraft systems, satellites, GPS, space science, and on-orbit servicing. |
| Robotics & Autonomous Systems | Explore manipulation, mobile robots, perception, industrial automation, medical robots, autonomy, and safety. |
| Medical Imaging & Diagnostics | Connect X-rays, CT, MRI, ultrasound, PET, laboratory diagnostics, point-of-care testing, and AI diagnostic support. |
| Climate & Environmental Systems | Map climate measurement, pollution control, water/waste systems, climate modeling, mitigation, adaptation, and ecosystem monitoring. |
| Agriculture & Food Systems | Trace mechanization, fertilizers, breeding, irrigation, controlled environments, supply chains, and digital agriculture. |
| Cybersecurity & Cryptography | Connect public-key cryptography, identity, TLS, firewalls, detection, response, zero trust, and post-quantum migration. |
| Transportation & Logistics | Follow road, rail, aviation, container shipping, intermodal freight, warehousing, cold chains, routing, and autonomous freight. |
| Materials Science & Manufacturing | Trace metals, polymers, ceramics, composites, nanomaterials, additive manufacturing, materials informatics, and advanced materials roadmaps. |
| Telecommunications & Networking | Follow telegraph, telephone, radio, fiber, packet switching, internet protocols, routing, cellular networks, broadband access, and 6G roadmap nodes. |
| Water & Sanitation Systems | Connect wells, cisterns, sewers, aqueducts, municipal treatment, chlorination, wastewater, membranes, reuse, smart water networks, and desalination roadmaps. |
| Pharmaceuticals & Drug Development | Trace pharmacy, pharmacology, trials, GMP, small-molecule discovery, biologics, delivery, pharmacovigilance, real-world evidence, and AI drug-discovery roadmaps. |
Canonical technology data lives in:
data/ancient.json
data/classical.json
data/medieval.json
data/renaissance.json
data/industrial.json
data/modern.json
data/future.json
Each technology entry uses:
{
"id": "printing_press",
"name": "Printing Press",
"era": "Renaissance",
"description": "Movable type printing enabled rapid reproduction of books and documents.",
"prerequisites": ["paper", "metal_casting"]
}Curated field entries may add metadata:
{
"id": "crispr_gene_editing",
"name": "CRISPR-Cas9 Genome Editing",
"era": "Modern",
"description": "Programmable genome editing with Cas9 and guide RNAs.",
"prerequisites": ["genetic_engineering", "cas9_programmable_nuclease"],
"fields": ["Genome Editing / CRISPR-Cas"],
"maturity": "established",
"sources": [
{
"title": "The Nobel Prize in Chemistry 2020",
"url": "https://www.nobelprize.org/prizes/chemistry/2020/summary/",
"publisher": "Nobel Prize",
"year": 2020
}
]
}Rules:
idvalues must be unique lowercase identifiers.eramust match the file where the technology is stored.dependencyEdgesmust contain typed semantic dependency objects;prerequisitesis kept as a compatibility mirror of those edge targets.- The prerequisite graph must remain acyclic.
- Every node must include
firstKnownDate,datePrecision,region, andreviewStatus. - Every dependency edge must include
type,confidence,evidence_level,note, andreviewStatus. - Node and edge sources carry
source_typeandsupportsmetadata so generic overviews do not get treated like primary evidence. - Curated field nodes may include
fields,fieldLanes,maturity,sources, androadmapmetadata. - Textbook-quality field nodes in CRISPR/Cas9, semiconductors, AI/ML, energy/grid, spaceflight/satellites, robotics/autonomy, medical diagnostics, climate/environment, agriculture/food, cybersecurity/cryptography, transportation/logistics, materials/manufacturing, telecommunications/networking, water/sanitation, and pharmaceuticals/drug development require cited sources.
- Forecast technologies must include roadmap rationale, timeframe, confidence, and blockers.
The sorted view derives branches from IDs, names, and descriptions. See Data Coverage for the current branch model.
TechTree accepts small source-backed corrections from AI agents and MoltBook
review threads. See Agent Contributions for
accepted external prompts, corrected claims, sources, and validation receipts.
To contribute useful changes, pick one task from the
Edge Review Queue, follow the compact
One-Edge PR Guide for edge fixes, or generate a
node-scope packet with npm run node-packet -- <node_id> --issue <number> for
overloaded nodes. For broad-node fixes, capture before/after behavior with
npm run node-snapshot and compare it with npm run node-snapshot-diff so
caption-only changes do not pass as semantic fixes. Then use the broader workflow in
Contributing and the edge-type rules in
Edge Review Playbook. The review bar is
adversarial: see Adversarial Edge Review.
If opening a PR is too much friction, send a
source-locator contribution first.
Fastest useful PR path:
- Pick one open starter issue from the queue.
- Change exactly one edge, one source, and one receipt.
- Run
npm run edge-receipts && npm test && npm run quality && npm run coverage. - Open the PR with the old claim, new claim, source locator, invariant, and validation output.
Run the validator before committing data changes:
npm testThe validator checks required fields, typed dependency-edge metadata, duplicate IDs, invalid eras, era/file mismatches, missing prerequisites, self-prerequisites, and dependency cycles. npm test also runs the temporal audit, which rejects earlier-era nodes depending on later-era nodes, Modern nodes depending on Future nodes, and edges where the prerequisite has a later firstKnownDate.
Run the data-quality audit to catch generated placeholder rows, duplicate display names, weak source metadata, overconfident weak-inference edges, semantic edge-change receipts, and technologies that use modern or future-only terminology too early:
npm run qualityInspect dataset balance with:
npm run coverageCoverage reports era totals and branch-by-era counts. Use it to identify underrepresented areas before large additions.
For source-heavy changes, run the optional network URL audit:
npm run source-urls -- --field "Telecommunications & Networking"
npm run source-urls -- --field "Water & Sanitation Systems"
npm run source-urls -- --field "Pharmaceuticals & Drug Development"This checks cited source URLs and fails on 404 or 5xx responses. It is kept separate from offline validation because it depends on network availability.
GitHub Actions runs the offline data-quality workflow on every push and pull request. The source URL audit runs weekly and can also be triggered manually from the Actions tab.
For small edits, update the relevant era JSON directly and run npm test.
For large expansions, use compact TSV sources in data/expansion/ and import them into the canonical era files:
node scripts/import-compact-tech.js data/expansion/example.tsv
npm test
npm run coverageCompact TSV rows use:
Era id Name Description prereq1,prereq2
For bulk additions, follow Technology Expansion Runbook. It documents the compact TSV importer, manual review expectations, quality audit, and publish checklist.
app.js Graph view client
sorted.js Compact sorted browser
server.js Static file server and JSON API
data/ Canonical era JSON and taxonomy data
data/expansion/ Compact TSV expansion sources
docs/ Coverage and expansion documentation
scripts/validate-data.js Data validator used by npm test
scripts/audit-temporal-consistency.js Temporal and semantic edge audit
scripts/check-edge-change-receipts.js Semantic edge-change receipt audit
scripts/node-scope-packet.js Generates broad-node scope review packets
scripts/node-scope-snapshot.js Generates deterministic node-neighborhood behavior snapshots
scripts/compare-node-scope-snapshots.js Compares before/after node-scope snapshots
scripts/coverage-report.js Era and branch coverage report
scripts/import-compact-tech.js TSV importer for bulk additions
scripts/migrate-semantic-edges.js Rebuilds typed dependency edge metadata
scripts/audit-data-quality.js Data-quality audit for duplicates and placeholder rows
scripts/audit-source-urls.js Optional network audit for cited source URLs
.github/workflows/ CI workflows for data validation and source URL auditing
The server exposes:
GET /api/tech-tree: returns the full technology array.PUT /api/tech-tree: replaces the dataset and persists it to era files, unlessTECHTREE_READ_ONLY=true.GET /api/config: returns client configuration such as read-only status.
This project is licensed under the MIT License.
