Back to projects
AI / Data Visualization live

Juba — The Dossier

AI-powered investigative knowledge graph tracking connections between political figures, companies, and events.

Juba is an investigative journalism platform that transforms scattered public records into actionable intelligence.

Core Capabilities

Knowledge Graph Construction — Automatically builds relationship networks from court documents, corporate filings, and news archives. Entities are disambiguated using named entity recognition and cross-referenced against multiple sources.

Force-Directed Visualization — Canvas-based graph rendering handles thousands of nodes at 60fps. Users can expand, collapse, and filter relationships by type, time period, or source credibility.

AI-Powered Research — Background jobs fetch and analyze new documents, extracting entities and relationships automatically. Multi-provider AI orchestration (Claude, GPT) ensures consistent extraction quality across document types.

Project Info

Status
live
Category
AI / Data Visualization

Architecture

How the pieces fit together.

RESTCanvasTemplate EngineJob QueueNext.js 16Force GraphNestJS APIAI OrchestratorPostgreSQLRedis / BullMQ

Tech Stack

The tools behind the build.

Frontend

Next.js 16
App Router with React Server Components
React 19
Concurrent rendering with RSC
react-force-graph-2d
Canvas-based network visualization at 60fps
Radix UI
Accessible component primitives

Backend

NestJS 10
API with TypeORM and 40 endpoints
TypeORM
Polymorphic entity relationships
BullMQ
Background AI research jobs

Infrastructure

PostgreSQL 16
Primary store with composite indexes
Redis 7
Job queue for AI tasks

AI / ML

Claude / GPT
Multi-provider AI orchestration