~/projects-hub/projects/identity-map
Archived
Identity Map icon
Web ApplicationCLI ToolGraph Theory
React 19TypeScriptViteTailwind CSSFramer MotionPythonNetworkXSQLModelTyperGraphvizSQLite

Identity Map

A monorepo containing two independent tools: an interactive React frontend and a powerful Python CLI backend to map your identity.

The Problem

Most self-reflection tools are unstructured freeform text, with no way to represent identity — people, values, roles — as an explicit graph you can query or analyze mathematically.

The Solution

A monorepo offering a standalone React frontend for visual graph exploration, and a separate Python CLI backend with NetworkX to compute and export the identity model.

Key Learnings

  • Decoupling the visual interface from the data-processing backend creates more flexible and maintainable independent tools.
  • Complex interactive visualizations need a stable physics engine (like d3-force) to avoid freezing the browser.
  • Translating abstract mathematical concepts into visual interfaces is the best bridge between logic and UX.

Monorepo Architecture: React Frontend & Python CLI

Identity Map splits concerns across two independent tools sharing a single repository:

  • React 19 Frontend: An interactive SPA that renders the identity graph and lets you explore relationships visually, persisting state to browser localStorage.
  • Python CLI Backend: A separate command-line tool built on NetworkX to compute the graph model, persisting it to SQLite via SQLModel, and exporting it independently of the visual layer.

Force-Directed Graph Visualization

  • Custom Force-Directed Physics Engine: Node and edge positions are driven by a hand-rolled force simulation (Coulomb repulsion + spring edges), tuned to stay responsive instead of freezing the browser as the graph grows.
  • Mathematics as UX: Structural graph-theory concepts (nodes, edges, centrality) are translated into an interface built for self-exploration rather than academic analysis.

Note: This project is archived — the source for both the frontend and the CLI is available on GitHub.