Weaviate Story Graph | James Murray

James Murray introduces the Weaviate Story Graph, a system that utilizes semantic neighbors and thumbnails to visualize relationships between various stories. Using Weaviate's vector search technology, the graph allows for the efficient retrieval of contextually relevant content from large datasets.

The graph supports 50k+ stories with real-time neighbor updates. Each node includes a thumbnail, excerpt, and similarity score. Users can explore by theme, emotion, or narrative arc.

Used in literary analysis, content recommendation, and interactive storytelling platforms.

Key Features

  • Semantic Story Graph: Force-directed layout with cosine similarity edges.
  • Thumbnails for Quick Preview: Auto-generated from first paragraph via DALL·E mini.
  • Seamless Integration: GraphQL API for React/Vue frontends.
  • Dynamic Clustering: DBSCAN on embeddings for theme discovery.
  • Explore by Mood: Filter by joy, anger, suspense vectors.
  • Export Paths: Save reading journeys as JSON.

System Design & Architecture

The system uses Weaviate to organize and retrieve stories based on semantic similarity. A background worker recomputes neighbor graphs nightly.

Technical Stack

  • Vector DB: Weaviate Cloud
  • Frontend: Svelte + D3.js
  • Thumbnails: Stable Diffusion API

Related Projects

Explore other related projects: