---
title: "Thinkable Type — Brad Jasper"
description: "A JavaScript knowledge-graph library: connected ideas stored as plain CSV, with AI-generated connections. Used in Think Machine."
url: https://bradjasper.com/projects/thinkable-type/
---

[← Products](https://bradjasper.com/products/)

# Thinkable Type

Live · 2024 · JavaScript · AI

A JavaScript knowledge-graph library: connected ideas stored as plain CSV, with AI-generated connections. Used in Think Machine.

- [thinkabletype.com](https://thinkabletype.com/)
- [Source on GitHub](https://github.com/themaximalist/thinkabletype)

![Thinkable Type wordmark, Knowledge Graph Toolkit](https://bradjasper.com/_astro/thinkabletype.CkTcIEN3_ZB7c5Q.webp)

Thinkable Type is the open source library under [Think Machine](https://bradjasper.com/projects/think-machine/). It stores knowledge as a hypergraph, but the file format is plain CSV: each line is a chain of connected ideas, such as `Ted Nelson,invented,HyperText`. There are only two things, symbols and connections.

The library parses those lines into a knowledge graph and offers four levels of “interwingle”, for how much the chains connect: Isolated, Confluence, Fusion and Bridge (shown below in Think Machine). On top of that it adds PageRank, local embeddings and vector search through [Embeddings.js](https://bradjasper.com/projects/embeddings-js/) and [VectorDB.js](https://bradjasper.com/projects/vectordb-js/), and suggestions and generated connections from any language model through [llm.js](https://bradjasper.com/projects/llm-js/). A command-line tool generates new files from a topic.

I released it on npm in March 2024. The full write-up is [Thinkable Type: A Knowledge Graph Toolkit](https://bradjasper.com/blog/thinkable-type/).

## Writing

- [Thinkable Type: A Knowledge Graph Toolkit](https://bradjasper.com/blog/thinkable-type/) · March 2024

[![Isolated: two separate chains, Hercules → son → Zeus and Hercules → son → Alcmene](https://bradjasper.com/_astro/hercules-interwingle-1.B9vQdsDc_Zn5SVW.webp)](https://bradjasper.com/_astro/hercules-interwingle-1.B9vQdsDc_Zn5SVW.webp)

Isolated: each line exactly as written.

[![Confluence: the two Hercules chains share one Hercules → son start that branches to Zeus and Alcmene](https://bradjasper.com/_astro/hercules-interwingle-2.D7UFkHcZ_Z1TrelO.webp)](https://bradjasper.com/_astro/hercules-interwingle-2.D7UFkHcZ_Z1TrelO.webp)

Confluence: lines that start the same way share that start.

[![Fusion: Aristotle → student → Plato → student → Socrates joined into one chain](https://bradjasper.com/_astro/aristotle-plato-socrates-interwingle-3.CR0C3jV4_2kL9go.webp)](https://bradjasper.com/_astro/aristotle-plato-socrates-interwingle-3.CR0C3jV4_2kL9go.webp)

Fusion: where one line ends and another begins, they join.

[![Bridge: three person → author → book chains linked through the symbol they share, author](https://bradjasper.com/_astro/authors-interwingle-4.Drn3KOUV_1S1SVo.webp)](https://bradjasper.com/_astro/authors-interwingle-4.Drn3KOUV_1S1SVo.webp)

Bridge: every repeated symbol is linked across lines.
