Re-Hierarchize

Generate, edit, and explore visualisations of hierarchical data with AI.

Overview

Generate, edit, and explore hierarchical data (taxonomies, user paths, funnels) via multiple D3 views — with prompt/file input, AI edits, breadcrumbs, fine-grained toolbars, and one-click exports.


Features

AI Hierarchy Generation

  • Prompt or upload files (PDF/DOCX/TXT/CSV/JSON/HTML/XLS/XLSX/RTF)
  • Controls: recursion depth, branching spread, target leaves
  • Generates weighted sequences (path → value) for sunburst/pack/icicle/trees

Multi-View Exploration

  • Sunburst with breadcrumb & percentages
  • Force-directed tree (radial) with zoom/pan & label controls
  • Circle packing with inside/above labels; padding/border controls

AI Editing via Chat

  • Add/rename/move nodes, split/merge, change weights
  • Minimal JSON ops + AI Undo/Redo (no destructive reset unless asked)
  • Validated structure; notes & logging of AI edits

More Visuals & Table

  • Icicle (partition), Tree of Life (node-link)
  • Tabular sequences (Path 1…N, Weight) for scan/filter
  • Consistent breadcrumbs across views

Toolbars & Controls

  • Zoom in/out/reset, wheel zoom & drag-to-pan
  • Label toggles & sizes, node size, link thickness
  • Forces (attraction/repulsion), spacing/padding, theme-aware contrast

Exports

  • Per-view PNG, SVG, PDF
  • Excel/CSV for sequences
  • Snapshots include current styling/zoom

Instructions

Inputs

  • Type a concise brief (e.g., “SaaS onboarding flows”, “Product taxonomy”).
  • Optional: drop a file — text is extracted to augment your prompt.
  • Set Recursion Depth (min/max), Branching Spread, Leaves (min/max), and Weight model (uniform/value-based).

Tips for Better Generations

  • Specify the purpose (e.g., “optimize drop-off analysis”, “navigate terminology”).
  • Give 1–2 example paths (“Home → Pricing → Checkout”).
  • Bound the size: “depth 3–5, spread ≈3, 50–150 leaves”.
  • State weighting intent (“frequency from logs” vs “uniform demo weights”).

End-to-End: From Brief to Explorables

  1. Open Settings → enter brief or upload a file; set depth/spread/leaves.
  2. Generate → AI returns JSON hierarchy & sequences; normalize to paths.
  3. Explore views → Sunburst, Force Tree, Circle Pack, Icicle, Tree of Life, Table.
  4. Refine via Chat → e.g., move/rename/split branches; adjust weights.
  5. Export → PNG/SVG/PDF per-view; Excel/CSV sequences.

Chat Ops

Chat requests translate into minimal, validated JSON ops against the current hierarchy. IDs remain stable; we never replace everything unless you explicitly say so.

Add / Split

  • “Add path Marketing → Campaigns → Spring (value 120).”
  • “Split ‘Onboarding’ into ‘Self-serve’ & ‘Sales-assist’, inherit children evenly.”

Rename / Move

  • “Rename ‘Pricing’ to ‘Plans & Pricing’.”
  • “Move ‘Billing’ under ‘Account’.”

Weights / Prune

  • “Increase weight of ‘Checkout’ by 20%.”
  • “Delete the branch ‘Legacy Flow’.”

Structure Hints

  • “Enforce depth 4 max; rebalance spread ≈3 at each level.”
  • “Target 100–150 leaves; scale weights to sum to 10,000.”

Notes: The assistant validates JSON structure, prevents cycles, and respects your tuned settings when proposing changes.


Technical Overview

Stack

  • React (Vite) UI with Tailwind-style utilities
  • D3 for sunburst/pack/partition/force layouts
  • OpenAI (gpt-4o-mini) for generation & chat-ops
  • pdfjs-dist, mammoth, xlsx for ingestion
  • html-to-image + jsPDF for exports

Data Model

  • Hierarchy: { id, name, parent, children[], value? }
  • Sequences: { path: string[], value: number }
  • Ops: addNode, updateNode, moveSubtree, deleteNode, setWeight, replaceAll (guarded)

System Flow (simplified): Settings → AI Generation → Visualization Layer → (optional) Chat Edit → Exports.

Settings AI Generation Visualization Layer Chat Edit Exports

Visualizations

Sunburst

  • Breadcrumb on hover; percentage of total for hovered arc
  • Central overlay labels; suppress tiny arcs for clarity
  • Export PNG/SVG/PDF; responsive, zoom-aware sizing

Force-directed Tree (Radial)

  • Radial bias around top-level clusters; zoom & pan
  • Toolbar: label visibility/size, node size, link thickness, attraction/repulsion, spacing
  • Breadcrumb on hover; export PNG/SVG/PDF

Circle Packing

  • Labels inside (truncated) or above with leader lines
  • Controls: zoom, label size/visibility, padding, border width; auto contrast
  • Breadcrumb on hover; export PNG/SVG/PDF

Icicle (Partition)

  • Top-down rectangular partition; depth-aware labeling & breadcrumb
  • Great for sibling comparisons at the same depth
  • Export PNG/SVG/PDF

Tree of Life

  • Classic node-link; left-to-right or radial
  • Hover breadcrumb; link/label styling controls
  • Export PNG/SVG/PDF

Table (Sequences)

  • Columns: Path 1…N + Weight
  • Fast scanning/filtering; easy to join with external data
  • Export CSV/Excel

Academic Notes: Visualization Choices & Theory

re-hierarchize follows Shneiderman’s mantra — overview first, zoom and filter, then details on demand — implemented via multi-view exploration, per-view toolbars, and breadcrumbs.

Encodings & Trade-offs

  • Sunburst: proportions via angle/arc; compact part-to-whole; suppress tiny arcs.
  • Icicle: shared baseline for precise sibling comparison at a depth.
  • Circle Packing: containment > precise comparison; label contrast controls.
  • Force node-link: topological comprehension (adjacency, paths); tunable forces.
  • Table: task-oriented for filtering/joining; complements visuals.

Weights, Sequences, and Cognition

Hierarchies are normalized into weighted sequences (each leaf becomes a path with a value). Trees support “where things live”; sequences show “how much they matter,” aligning with navigation and frequency mental models.

Design Heuristics

  • Data-Ink Ratio (Tufte): default clarity; prune tiny labels/marks until zoomed.
  • Contrast & Accessibility: adaptive label contrast; adjustable sizes.
  • Progressive Disclosure: advanced controls tucked in toolbars; breadcrumbs reduce clutter.

Methodological Notes

  • Chat-ops as constrained editing: intents map to minimal ops (add/update/move/prune) to preserve analyst changes.
  • Parameterization (depth/spread/leaves/weights) acts as soft constraints; proposals honor bounds unless overridden.
  • Reproducibility: exports embed current styling/zoom; sequences enable cross-tool validation.

Further reading: hierarchical visualization, partition layouts, node-link diagrams, information-seeking mantras. Use views complementarily.