Skip to content

TruthSplit visualises why people reach different conclusions from the same facts, showing how ideological perspectives interpret arguments differently based on their underlying values and assumptions.

License

Notifications You must be signed in to change notification settings

Adrien-Z/TruthSplit

Repository files navigation

TruthSplit - Where Reason Branches

Live Website: truthsplit.com

TruthSplit is a web application that visualizes how different worldviews interpret controversial arguments. It helps users explore rational disagreement through values, assumptions, and perspectives.

TruthSplit Screenshot

Features

  • Claim Analysis - Submit any controversial claim and receive a multi-perspective breakdown
  • Worldview Visualization - See how different ideological perspectives interpret the same argument
  • Interactive Graphs - Explore the reasoning structure through interactive node-based visualizations
  • VoteInfo Integration - Use claims from real Swiss voting data
  • Export & History - Save analyses as PDF and track your exploration history

Tech Stack

  • Frontend Framework: React 18 with TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui (Radix UI primitives)
  • Backend: Supabase (Edge Functions, Database)
  • Visualization: Cytoscape.js, Three.js (React Three Fiber)
  • State Management: TanStack Query

Running Locally

Prerequisites

  • Node.js (v18 or higher)
  • npm or bun

Installation

# Clone the repository
git clone https://github.com/Adrien-Z/TruthSplit.git
cd TruthSplit

# Install dependencies
npm install

# Start the development server
npm run dev

The application will be available at http://localhost:8080.

Available Scripts

Command Description
npm run dev Start development server
npm run build Build for production
npm run preview Preview production build
npm run lint Run ESLint

Project Structure

src/
├── components/     # React components
│   └── ui/         # shadcn/ui components
├── pages/          # Page components (Index, Analysis, History)
├── hooks/          # Custom React hooks
├── lib/            # Utility functions
├── types/          # TypeScript type definitions
└── data/           # Static data

supabase/
└── functions/      # Edge Functions (API endpoints)

Authors

Bachelor's Project - University of St. Gallen, 2026

About

TruthSplit visualises why people reach different conclusions from the same facts, showing how ideological perspectives interpret arguments differently based on their underlying values and assumptions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages