Skip to content

MatteoPerona/belief-graph

Repository files navigation

Belief Explorer

A personal thinking tool for mapping beliefs as a directed graph. You start with a question, write answers, and let each answer raise new questions. What emerges is a Socratic dialogue with yourself — a map of how your reasoning actually branches, stalls, and reconnects.

Built as a companion to an essay. The app is the argument made interactive.


What It Does

  • Explore Mode — focus on one node at a time. See where it came from, write where it leads. Low friction: type, press Enter, keep going.
  • Map Mode — see the whole graph at once. Force-directed layout, drag to rearrange, click any node to dive back in.
  • Two node types — questions (amber, serif, sharp corners) and answers (blue, sans-serif, rounded). They alternate as you write.
  • Link existing nodes — when a thread converges with one you've already written, connect them instead of duplicating.
  • Open thread nudge — the app surfaces a random leaf node at the bottom of each screen. A small prompt to keep going.

Stack

Framework Next.js 15 (App Router)
Visualisation D3 (force simulation, zoom, drag)
Persistence localStorage
Styling Inline styles
Auth / DB None yet

No backend. Everything runs in the browser.


Running It

npm install
npm run dev

Opens at http://localhost:3000. Two sample explorations are seeded on first visit so you have something to click around in immediately.


Project Structure

app/
  layout.jsx                 — fonts, global reset
  page.jsx                   — redirects to /dashboard
  dashboard/
    page.jsx                 — graph list
    [graphId]/
      page.jsx               — explore + map views
components/
  Dashboard.jsx              — graph cards, rename, delete
  ConversationView.jsx       — the main thinking interface
  GraphCanvas.jsx            — d3 force graph
  NewGraphDialog.jsx         — create flow
lib/
  api.js                     — localStorage data layer
  theme.js                   — colour constants

State of the Project

This is an early working version. The core loop is complete and usable. What's in:

  • Create, rename, and delete explorations
  • Add, edit, and delete nodes
  • Link nodes across branches
  • Drag-to-arrange in map mode (positions saved)
  • Keyboard shortcuts (/, Tab, Escape)
  • Mobile-friendly layout

What's not in yet:

  • User accounts — data lives in localStorage, one browser, one device
  • Sync — no server, no backup, clear your cache and it's gone
  • Export — no JSON, image, or PDF output
  • Undo — deletions are permanent
  • Real-time or collaboration — fully single-user

The next meaningful step is wiring up Supabase for persistence and auth so data follows the user across devices.


Inspiration

Born from an essay about belief systems and how most people often don't examine the structure of their own thinking. The graph format isn't just a UI choice — it's the argument: beliefs aren't a list, they're a network, and most of the interesting stuff lives in the edges.

About

A site to map out and explore personal beliefs using a directed graph, where every node is a question or an answer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors