Skip to main content
Social Analyzer provides powerful visualization capabilities through force-directed graphs that help investigators understand relationships between profiles, metadata, and patterns.

Overview

The visualization module (visualize.js) uses Ixora, a force-directed graph library, to create interactive visualizations of:
  • Detected profiles and their relationships
  • Metadata extracted from profiles
  • Cross-platform connections
  • Multi-profile correlations

Force-Directed Graphs

Force-directed graphs display nodes (profiles, metadata) and edges (relationships) in a physics-based layout where connected items attract and unconnected items repel each other.

Benefits

  • Visual Pattern Recognition: Quickly identify clusters and connections
  • Interactive Exploration: Search, filter, and navigate through data
  • Relationship Mapping: See how profiles relate across platforms
  • Metadata Visualization: Display extracted information hierarchically

How It Works

From visualize.js:4-85, the visualization engine:

Graph Structure

Node Types

  1. Root Node: The searched username(s)
  2. Profile Nodes: Detected social media profiles
  3. Metadata Nodes: Extracted metadata from profiles

Edge Types

  1. Username → Profile: Direct connection from search term to detected profile
  2. Profile → Metadata: Connection from profile to its metadata

Example Structure

Multi-Profile Visualization

When searching multiple usernames simultaneously, the visualization creates a hierarchical structure. From visualize.js:9-22:

Multi-Profile Structure

Usage

Basic Visualization

Multi-Profile Visualization

With Pattern Extraction

Visualization requires the --metadata flag. Without metadata, the graph will only show username and profile nodes without detailed information.

Interactive Features

The Ixora-powered visualization provides several interactive features:

Search Functionality

From visualize.js:73, the graph includes a search box:

Tooltips

Hover over nodes to see detailed information about:
  • Profile URLs
  • Metadata content
  • Relationships

Physics Simulation

The graph uses physics parameters:
  • Charge: 10 (repulsion strength)
  • Distance: 100 (preferred edge length)
These create natural clustering of related information.

Metadata Truncation

Long metadata strings are automatically truncated for better visualization. From visualize.js:51-54:
This ensures:
  • Readable node labels
  • Clean graph appearance
  • Better performance with many nodes

Accessing the Visualization

Web Interface

The visualization is available through the web app:
  1. Start Social Analyzer:
  2. Navigate to: http://localhost:9005/app.html
  3. Enter username and enable metadata extraction
  4. View results with the graph visualization

Direct Graph Access

The graph is saved to a static file:

Graph Initialization

From visualize.js integration in helper.js:81-83:
The base graph template is initialized when the application starts.

Practical Applications

OSINT Investigations

Visualization helps investigators:
  • Identify profile clusters
  • Find shared metadata across platforms
  • Discover hidden connections
  • Map digital footprints

Example Investigation Flow

Multi-Target Correlation

Graph Data Export

The visualization function returns structured graph data:
This data can be:
  • Saved to JSON files
  • Imported into other visualization tools
  • Processed for further analysis

Performance Considerations

Node Limits

For optimal performance:
  • < 100 nodes: Smooth interaction
  • 100-500 nodes: May experience slight lag
  • > 500 nodes: Consider filtering results

Optimization Strategies

  1. Filter by status: Use --filter good to show only confirmed profiles
  2. Limit websites: Use --top 50 or specific --websites
  3. Selective metadata: Only extract metadata for high-priority platforms

Customization

The Ixora graph can be customized by modifying parameters in visualize.js:73:
Experiment with charge and distance parameters to adjust how tightly nodes cluster together. Lower charge values create tighter clusters.

Troubleshooting

Empty Graph

Problem: Graph shows no nodes Solutions:
  • Ensure --metadata flag is enabled
  • Check that profiles were detected (--filter good)
  • Verify network connectivity

Too Many Nodes

Problem: Graph is cluttered and slow Solutions:
  • Use --filter good to show only confirmed profiles
  • Limit websites with --top N or --websites
  • Disable pattern extraction if not needed

Metadata Not Showing

Problem: Only username and profile nodes visible Solutions:
  • Confirm --metadata flag is set
  • Check that detected profiles have metadata
  • Try slow mode for better metadata extraction
Large graphs with 500+ nodes may impact browser performance. Consider filtering your results for better visualization experience.