About Nexus

Nexus is an AI-powered research navigator — the Google Maps of academic literature. Enter a topic and it builds a live semantic map: clustering papers by conceptual similarity, AI-labeling each cluster, surfacing outlier papers that bridge fields, and generating novel research directions. Drill deeper iteratively through multiple rounds of exploration, ask a built-in research assistant questions about your map, and export everything as JSON.

Jump to section

01

Enter a seed topic

Type any research topic — as broad as “diffusion models” or as specific as “single-cell RNA velocity in neurogenesis”. Specificity produces tighter clusters. Nexus fetches up to 85 papers from OpenAlex using a 70/30 recency split (70% from the last 3 years, 30% unconstrained), embeds them with Jina AI (1024-dim vectors), then runs the full clustering pipeline.
02

Read the cluster map

Papers are grouped by semantic similarity into named clusters visible in both the graph and the left sidebar. Each cluster is AI-labeled with a short name and a brief description. Click any cluster in the sidebar — or on the graph — to jump to it and expand its papers. Clusters show a median publication year; an amber dashed ring indicates the cluster's work skews older than 3 years.
03

Prune off-topic clusters

Select a cluster → “Prune this cluster” → add a reason. Pruned clusters are grayed out. Your stated reason is forwarded to direction generation as an explicit constraint — the AI treats it as what to avoid, not just metadata.
04

Go Deeper on a paper

Select any paper or outlier node, then click “Go Deeper” in the sidebar. Nexus fetches that paper's cited references from OpenAlex and runs the full embedding + clustering pipeline on them, creating a new labeled round of clusters. Each round is numbered in the sidebar: Initial → Round 2 → Round 3…
05

Generate research directions

Select a cluster or outlier and hit “Generate research directions”. An AI model reads the cluster's papers, your pruning decisions, and the map structure to propose 3–5 specific, actionable directions — each scored for novelty and feasibility (1–10). Click “Verify novelty” on any direction to cross-check it against the existing literature via OpenAlex.
06

Ask the research assistant

The floating chat bar at the bottom of the graph accepts free-form questions about your map: compare clusters, identify gaps, ask what to explore next. The assistant has full context — all cluster labels, your selected node's complete metadata, pruned clusters, and generated directions. Select a node before asking for the most grounded answers.
07

Filter by date range

Open the left sidebar's date filter section, set a publication year range, and click “Apply & re-cluster”. Nexus re-clusters the already-fetched papers server-side without making new API calls — typically 3–8 seconds. Use this to focus on recent work or to compare how cluster structure changes across decades.
08

Focus on a cluster

Select a cluster → “Focus on this cluster” in the right sidebar. All other clusters and their papers dim to 15% opacity so you can study one area without distraction. Press ESCor click “Exit focus mode” to clear. Focus state is session-only and is not exported.
09

Mark papers as read

Select a paper → “Mark as read” in the right sidebar. Read papers dim on the graph so you can track what you've processed. Cleared on page reload (session-only).
10

Iterate and revisit

Prune, go deeper, generate directions, ask follow-up questions. Your graph state — including all Go Deeper rounds and generated directions — is saved automatically and survives browser refresh within the same tab.

Cluster labelingWhen a session is created — and after each Go Deeper round — an AI model reads a sample of each cluster's papers and assigns a concise semantic label and description. Labels are specific: “CRISPR base-editing off-target safety” rather than “Biology”.

Research directionsOn-demand when you click “Generate research directions”. By default uses Llama 3.3 70B (free, via Groq). Add your own Claude key to upgrade to Claude Sonnet 4.6.

Novelty verificationManual per-direction via “Verify novelty”. Searches OpenAlex for the closest existing work and computes a literature coverage score: Low (<30%) means sparse prior art and higher novelty; High (>70%)means the direction is well-explored. Returns the 3 most relevant existing papers with citation counts and OpenAlex links. The AI-assigned novelty score (1–10) is now labeled “AI estimate” to distinguish it from the verified coverage label.

Go Deeper clusteringWhen you expand a paper, the fetched references go through the same full pipeline (embedding → PCA → UMAP 15D → DBSCAN → AI labeling) as the initial session. New clusters are independent of the original ones — they reveal the subfield shown by that paper's citation network.

Research assistantThe chat bar uses the same Llama 3.3 / Claude Sonnet switch as directions. Every message carries rich per-node context: for papers — title, year, authors, abstract, citation count; for clusters — label, description, paper count, median year; for directions — rationale, novelty and feasibility scores, suggested next steps; for outliers — Mahalanobis distance, bridge potential, and outlier explanation. Select a node before asking for grounded answers.

When AI is pausedIf the banner appears at the top of the explorer, cluster labeling, research directions, Go Deeper, and the chat assistant are all unavailable. The paper graph, sidebar navigation, pruning, flagging, and JSON export continue normally. A BYOK Claude key bypasses the shared quota for directions and the assistant.

Open the left sidebar → AI Model section → paste a key starting with sk-ant-. This upgrades direction generation and the chat assistant from Llama 3.3 to Claude Sonnet 4.6, and lets you continue using AI features even when the shared Groq quota is exhausted.

Privacy:your key is stored only in your browser's sessionStorage — never written to a database or logged server-side. It leaves your browser only as the x-anthropic-key header on direct API calls, and is cleared when you close the tab.

PruningRemoves a cluster from the active view and passes your stated reason to direction generation as an explicit constraint. The AI avoids generating directions in pruned areas. You can un-prune at any time from the cluster's right sidebar panel.

FlaggingMarks a paper, cluster, direction, or outlier for follow-up. Flagged items appear in the left sidebar's Flagged list so you can jump back to them, and are preserved in the exported JSON.

Cluster nodeA group of semantically similar papers. AI-labeled. Size reflects paper count. Shows median publication year of member papers. An amber dashed outer ring means the cluster's median year is more than 3 years old — the work may predate recent developments. Clusters from Go Deeper rounds appear under their round number in the sidebar (Initial, Round 2, Round 3…). Click to expand papers.
Paper nodeA single paper. Visible when you expand its cluster from the sidebar. Click to see title, abstract, authors, year, and citation count in the right panel.
Outlier nodeA paper that doesn't fit cleanly into any cluster — often a bridge between fields. Shown with Mahalanobis distance from its nearest cluster. Good candidates for Go Deeper.
Direction nodeAn AI-generated research direction linked to its source cluster by a dashed edge. Shows novelty and feasibility scores (1–10). Flag it to track promising directions.

Session graphs and paper embeddings are stored in Supabase (Postgres + pgvector). Paper metadata comes from OpenAlex (fully open access). Embeddings are cached by paper ID and shared across sessions — a paper embedded for one session is instantly available for another's.

Sessions require no authentication. Session data (papers, clusters, directions) persists in Supabase indefinitely; graph state is also cached in your browser's sessionStorage for fast revisits within the same tab.

Groq (Llama 3.3) is used for labeling and directions by default. If you provide a BYOK Claude key, only that key is used — the server forwards it directly to Anthropic and does not retain it. Chat messages are not logged server-side.

  • Next.js 16 (App Router) + TypeScript + Tailwind v4
  • D3 force simulation for graph layout; UMAP 2D for cluster positioning
  • OpenAlex for paper metadata (open access, no API key required)
  • Jina AI jina-embeddings-v3 — 1024-dimensional paper vectors
  • PCA → UMAP 15D → DBSCAN for clustering; cosine distance throughout
  • Supabase (Postgres + pgvector) for session, paper, cluster, and edge persistence
  • Anthropic Claude Sonnet 4.6 — cluster labeling, BYOK directions, BYOK chat
  • Groq Llama 3.3 70B — default direction generation and chat assistant

Nexus is an open research tool. Source on GitHub

Recency-biased fetch, focus mode, read tracking, novelty verification, and date re-cluster live.