Béranger THOMAS

Selma

React/TypeScript application for visualizing and navigating hierarchical taxonomies and DAG in a browser.

Technical sheet
Status Active Release date 2026-04-04 Category Data visualization Language TypeScript Stack React · Vite · React Flow · ELK.js · Tailwind CSS · i18next · react-markdown License MIT

Context

Selma is a web application that displays hierarchical classifications — taxonomies and DAG as well — and lets users navigate them interactively. The included example dataset traces the evolution of writing systems, a structure where some items belong to several categories at once.

Challenge

Taxonomies are typically trees in which each node has a single parent. However, most data is not that simple; a concept may lie at the intersection of multiple branches. The goal of this project is to provide a framework capable of representing these multi-parent relationships.

Approach

The project is built with React and Vite. Graphs are rendered with React Flow; automatic layout is handled by ELK.js. The interface uses Tailwind CSS for styling. Node detail pages — which can contain formatted text, images, mathematical formulas, and code blocks — are rendered through react-markdown with remark and rehype plugins. Translations are managed by i18next.

Features

Outcome

The application is distributed as a template. To use it for a different subject, replace the contents of the public/ directory with your own node definitions, taxonomies, and Markdown pages, then redeploy. A live demo is hosted on Hugging Face Spaces.