Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/DrDigett/Babel/llms.txt

Use this file to discover all available pages before exploring further.

BaBel+ is a self-hosted TypeScript monorepo that turns your personal reading list, film collection, and research materials into a living knowledge graph. It pairs a Hono API server with a React 19 SPA so you can capture any piece of content, tag it with rich metadata, and then draw explicit, typed connections between items — surfacing relationships that a flat list or folder structure could never express.

Core concept

Every item in BaBel+ is a node: a discrete unit of knowledge with a title, type, status, priority, tags, and optional metadata such as author, year, or external link. Nodes are connected by directed relations — edges that carry a semantic type describing how one node relates to another. The result is a personal knowledge graph you own entirely, stored in your own PostgreSQL database and browsable as an interactive force-directed canvas.

Node types

The type field is a free-form text string — you can use any value that fits your knowledge graph. The seed database ships with examples across several categories:
TypeSeed examples
libroBooks and long-form written works
peliculaFilms and feature-length video works
articuloArticles, essays, and academic papers
videoShort-form video content and lectures
cursoCourses and structured learning programmes
videojuegoVideo games and interactive media
autor / director / filosofoPeople (authors, directors, thinkers)
concepto / escuela / eventoAbstract ideas, intellectual movements, historical events

Relation types

Nine directed relation types describe the semantic links between nodes:
RelationMeaning
es_autor_dePerson or entity authored the target
dirigioPerson directed the target (film, etc.)
trata_sobreSource discusses or is about the target
pertenece_aSource belongs to a school, movement, or category
influyo_aSource influenced the target
critica_aSource critiques or responds to the target
inspiroSource inspired the target
ocurre_enSource is set in or takes place in the target
similar_aSource is thematically or formally similar to the target

Lists

BaBel+ lets you organise nodes into named lists — ordered, curated collections separate from the graph view. Lists are first-class resources with their own /api/lists endpoints, and each list-node membership can carry an independent numeric rating. On first start, the server automatically creates a “Todos los nodos” list containing all seeded nodes, so the list view is populated immediately.

AI-powered classification

BaBel+ integrates Groq’s llama-3.1-8b-instant model via the /api/ai/smart-add endpoint. Submit a raw title or description and the AI analyses your existing graph to suggest a fully-typed node alongside any relations it detects with content you’ve already catalogued — all in a single request.

Interactive graph canvas

The React SPA includes a force-directed graph view that renders every node and relation as an interactive canvas. Nodes are colour-coded by type, edges are labelled with their relation type, and you can click any node to inspect its full detail page — making it easy to navigate the connections you’ve built over time.

Quickstart

Run BaBel+ locally in five minutes with PostgreSQL and a Groq API key.

Core Concepts

Learn how nodes, relations, and lists work together to form your knowledge graph.

AI Features

Explore smart-add, classification, and how Groq integrates with your graph.

API Reference

Full HTTP reference for every endpoint exposed by the Hono server.

Tech stack

BaBel+ is built on a focused, modern TypeScript stack:
LayerTechnology
API serverHono v4 on @hono/node-server
ORM & migrationsDrizzle ORM + drizzle-kit
DatabasePostgreSQL (managed on Render or self-hosted)
Client UIReact 19 + React Router v7
Build toolingVite 6 + TypeScript 5.7
AI inferenceGroq API (llama-3.1-8b-instant) via OpenAI-compatible SDK
HostingRender (Blueprint-based one-click deploy)
The monorepo uses npm workspaces with three packages: @babel-plus/server, @babel-plus/client, and @babel-plus/shared (shared TypeScript types consumed by both sides).

Build docs developers (and LLMs) love