The Oak Project icon v0.1.2 rooted

OAK

A Living Data Ecosystem

The Oak Project turns incoming data into a living structure: Root receives, nodes awaken, connections form, and raw information becomes organized knowledge.

The seed

From Tree Logic to Living Structure

Oak began as a question about directory trees. Traditional trees branch outward: root, folder, file, child, descendant. But what happens when hierarchy is not only a branch, but a field of growth? What happens when depth becomes distance, when nodes sit on rings, and when relationships decide how the forest expands?

Root

The central hub. The first living point. Root receives incoming information and anchors the system.

Rings

Concentric layers that express graph distance, context, and relationship depth instead of static folders.

Nodes

Dataset identities. Each node may carry its own table, links, metadata, and future behavior.

Development history

How Oak Grew

1. Directory Tree Reimagined

The first idea was simple: a directory tree does not have to be visualized only as branches. A tree can be understood as rings of distance from a center. This shifted the model from parent-child display into radial growth.

2. Ring → Node → Branch → Tree

The concept matured into a hybrid growth model. Rings organize potential. Nodes become points of identity. When a node gains meaning, weight, or input, it can become the root of its own branch structure.

3. The Trunk Becomes the Bank

A central database was introduced as the trunk: the persistent bank of nodes, relationships, and incoming data. Instead of scattering structure everywhere, all truth is anchored in one central store.

4. Tkinter Proof of Concept

Oak became visible through a Python Tkinter interface. Nodes could be created, selected, edited, deleted, connected, disconnected, and redrawn inside a radial canvas.

5. Edges Wake the System

Edges transformed Oak from a visual node map into a graph. Connections became first-class structure, allowing datasets and entities to relate to one another instead of existing as isolated points.

6. Auto-Ring Assignment

Rings became dynamic. Using graph distance from Root, Oak can assign node rings automatically. The map now reacts to relationships instead of relying only on manual placement.

7. JSON Ingestion

The current milestone turns scraper and crawler output into living structure. Oak accepts JSON, creates a dataset node, connects it to Root, builds a SQLite table from JSON keys, and inserts rows into that node-specific container.

Project identity

Organic. Adaptive. Knowledgeable.

The Oak Project logo
The living data ecosystem

Oak is built around a garden-of-Eden premise: a new beginning for data organization. Instead of dumping crawler output into dead files, Oak gives every dataset a place, a relationship, and an identity. The forest grows because every connection matters.

Knowledge Maps AI Memory Dependency Explorers Crawler Results Threat Intel Graphs Code Visualization OSINT Mapping

Current status

Version 0.1.2

The current Oak proof of concept is a working Python Tkinter application backed by SQLite. It supports interactive node management, graph edges, disconnect logic, root-centered structure, dynamic ring assignment, and real JSON file ingestion.

Implemented

Root node initialization, node creation, node editing, node deletion, edge creation, edge removal, graph-distance ring assignment, SQLite persistence, and JSON-to-table ingestion.

Immediate Purpose

Oak is currently aimed at scraper and crawler workflows where JSON output is converted into structured datasets while also appearing as graph-connected nodes in a living information map.

JSON file
  ↓
Root receives input
  ↓
Dataset node is created
  ↓
Root connects to dataset node
  ↓
SQLite table is generated from JSON keys
  ↓
Rows are inserted
  ↓
The forest grows

Where it grows next

The Forest Ahead

Dataset Preview

Click a node and inspect the table it generated. Structure becomes visible intelligence.

Nested JSON Handling

Flatten complex JSON, preserve raw payloads, and support arrays, objects, and irregular scraper output.

Typed Edges

Relationships can become meaningful: crawled_from, depends_on, references, owns, resolves, or discovered_by.

Crawler Integration

Scrapers, miners, and crawlers can feed Root directly, creating nodes as new datasets arrive.

Threat & OSINT Graphs

Entities, domains, IPs, pages, assets, and indicators can grow into intelligence forests.

AI Memory Layer

Oak can eventually serve as a persistent memory map where concepts are stored, linked, and revisited.