← Back to selected work

Engineering case study · Shipped product

Knowledge Nebula

A privacy-first, browser-based application that transforms document collections into explorable 3D knowledge graphs, with AI analysis performed entirely on-device.

Most document tools either keep files private but make relationships hard to inspect, or surface useful connections by uploading the corpus to a hosted service. Knowledge Nebula was designed to keep the core analysis on the user’s device while making every important graph edge explainable.

A three-dimensional document graph orbiting a faceted anchor, representing the Knowledge Nebula project.

Product shape

Static web app, desktop builds, and sealed air-gapped build

Core processing

Client-side parsing, OCR, embeddings, similarity, clustering, search, and rendering

Storage

Named local workspaces persisted in IndexedDB

Interchange

JSON, PNG, share links, and composed OpenUSD stage export

01 · Problem

Private research without an inspectable structure

Folders preserve documents, but they hide the relationships between them. Traditional search can retrieve a file, yet it rarely explains how an idea, person, reference, or source connects across a larger corpus.

The requirement was not merely a dramatic graph. Selecting a node needed to open the source, and selecting an edge needed to answer a practical question: why are these documents related?

02 · Architecture

Local-first architecture

The application runs as a client-side product. Heavy ingestion stages move through workers so parsing, embedding, similarity, and layout work do not freeze the interface. Named workspaces persist in IndexedDB, and the default product loop requires no account or hosted backend.

Optional cloud AI is deliberately separate from the core graph pipeline. OpenRouter requires an explicit user choice and key; Ollama points to a user-controlled local server. A sealed air-gapped build enforces a zero-external-host policy for stricter environments.

03 · Graph intelligence

Why the edges are explainable

Connections combine semantic similarity with inspectable evidence such as references, shared entities, extracted topics, and source-code imports. Louvain community detection groups the graph, but the underlying evidence remains visible to the user.

That distinction matters: the visualization is an interface to a queryable knowledge structure, not decoration layered over an opaque embedding space.

04 · Product decisions

A simple core loop with advanced paths at the edges

The primary workflow stays intentionally short: add files, explore the graph, then open and search the underlying documents. Snapshots, watched folders, annotations, optional AI, desktop packaging, and OpenUSD export extend that loop without becoming prerequisites.

The OpenUSD path carries document metadata, relationship evidence, cluster structure, and view variants into USD-aware tools. Original document bytes, full text, paths, and embeddings are excluded from the exported stage.

05 · Outcome

A shipped system with measurable engineering constraints

The project now supports broad document and source-code ingestion, semantic and lexical search, 2D/3D exploration, local workspaces, change tracking, evidence-backed connections, and multiple distribution targets.

The repository includes automated tests, benchmark methodology, security documentation, bundle limits, air-gap verification, and release workflows—so privacy and performance claims are treated as engineering contracts rather than marketing copy.

Explore it yourself

The graph is more useful when you can interrogate it.