Values explorer

In Adaptimist Blog Post by A. Geoffrey CraneLeave a Comment

Values explorer

This is a values field. Every word you see represents a value people commonly hold – things like ambition, compassion, security, curiosity, or loyalty. When you choose three values as anchors, the field reorganizes itself around them. Values that tend to fit with your choices move closer to the middle; values that tend to pull in a different direction drift farther away. The distances aren’t judgments or scores, they’re a way of visualizing how values cluster, align, and sometimes compete.

Values matter most when things get hard. When life is calm, many values can coexist without friction. But under pressure, values collide. Loyalty can pull one way while safety pulls another. Honesty may conflict with kindness. Stability may compete with growth. In those moments, uncertainty isn’t just about what to do; it’s about which value should lead. This is the essence of a values conflict.

Imagine deciding whether to tell your parents about your sister’s drug use. Loyalty urges protection and silence; safety urges intervention and honesty. There’s no painless option – but if you know you prioritize safety over loyalty, you can make that decision faster. You may still grieve the cost, but you won’t be guessing about what matters most.

This tool is here to help you explore different values you might have and see how they fit in the larger values field. When tough decisions arrive, exploration here might help you make faster and more effective choices.

Pick 3 values

Pick 3 values that feel best right now.

Find and click three words that are most important to you in the field (or search for them below). Each pick locks into the centre triangle.

For best results, try to pick words that are three different colours.

When you’re done, words that are likely more important to you will appear closer to the centre triangle. Words that are likely less important to you will appear further away.
Anchors 0 / 3 selected
Legendcategories
Hover to magnify. Click up to 3 core values.
Vibe coded with love and buttercups by Geoff Crane and ChatGPT (2026).

Want to see the math?

The short version: Each value gets a “personality profile” across 10 psychological dimensions derived from decades of psychology research. We measure how similar two values are by comparing their profiles using cosine similarity—basically checking if they point in the same psychological direction.

The 10 Dimensions

These dimensions come from established psychological frameworks—primarily Moral Foundations Theory (Haidt) and Schwartz’s Values Theory:

Dimension What It Measures Theoretical Basis
CARE Compassion, protecting others from harm MFT: Care/Harm foundation
FAIR Justice, equality, impartial treatment MFT: Fairness/Cheating foundation
LOY Loyalty to group, community, in-group MFT: Loyalty/Betrayal foundation
AUTH Respect for authority, hierarchy, order MFT: Authority/Subversion foundation
LIB Freedom, autonomy, resistance to control MFT: Liberty/Oppression foundation
AGEN Personal power, confidence, efficacy Schwartz: Agency dimension
OPEN Curiosity, change, novelty-seeking Schwartz: Openness to Change
STAB Security, predictability, safety Schwartz: Conservation (stability)
TRAN Tradition, custom, established ways Schwartz: Conservation (tradition)
ENH Achievement, status, excellence Schwartz: Self-Enhancement

📊 A Note on Dimensions vs. Categories

You might notice the visualization has 12 color-coded categories in the legend, but the math uses 10 dimensions. Here’s why:

The 10 dimensions are the mathematical engine — they’re abstract psychological constructs used to calculate how similar values are to each other. Think of them as the coordinate system.

The 12 categories are organizational labels — they’re user-friendly groupings that help you navigate and explore. For example:

  • “Virtue & fairness” groups values high on FAIR (plus related ethics values)
  • “Care & harmony” groups values high on CARE
  • “Meaning & service” captures values that don’t fit neatly into one dimension but form a meaningful psychological cluster

The categories make the tool more intuitive to explore, while the dimensions keep the math rigorous. They serve different purposes and don’t need to align perfectly.

Example Value Vectors

Here are the actual coefficients for 8 arbitrarily selected key values:

Value CARE FAIR LOY AUTH LIB AGEN OPEN STAB TRAN ENH
Compassion 0.95 0.15 0.10 -0.20 0.00 -0.25 0.05 0.00 0.70 -0.40
Ambition -0.10 0.00 0.00 0.10 0.20 0.60 -0.20 -0.10 -0.10 0.85
Freedom 0.05 0.05 -0.20 -0.30 0.90 0.30 0.20 -0.30 0.10 0.25
Obedience -0.10 0.00 0.20 0.85 -0.65 -0.10 0.50 0.80 -0.20 0.00
Patriotism 0.00 0.05 0.70 0.65 -0.45 0.05 0.25 0.75 -0.15 0.05
Empathy 0.90 0.10 0.05 -0.20 0.00 -0.35 0.10 -0.05 0.65 -0.40
Innovation 0.00 0.05 0.00 -0.35 0.25 0.30 -0.35 -0.40 0.10 0.35
Tradition 0.00 0.05 0.25 0.80 -0.45 -0.10 0.50 0.90 -0.10 0.00

Reading the table: Positive values (green conceptually) mean the value strongly expresses that dimension. Negative values (red conceptually) mean the value conflicts with that dimension. Values near 0 are neutral.

How Similarity Works: Cosine Similarity

When you click on values, the system calculates how similar they are using cosine similarity—a measure of how much two vectors point in the same direction:

similarity = (A · B) / (|A| × |B|)

Where:

  • A · B is the dot product (sum of dimension-by-dimension products)
    A₁×B₁ + A₂×B₂ + ... + A₁₀×B₁₀
  • |A| and |B| are the magnitudes (lengths) of the vectors, or the square root of sum of squares
    √(A₁² + A₂² + ... + A₁₀²), √(B₁² + B₂² + ... + B₁₀²)

Range: -1 (perfectly opposite) to +1 (perfectly aligned)

Example: Why “Obedience” and “Freedom” Repel

Let’s calculate their similarity step by step:

Vectors:

  • Obedience: CARE: -0.10, FAIR: 0.00, LOY: 0.20, AUTH: 0.85, LIB: -0.65, AGEN: -0.10, OPEN: 0.50, STAB: 0.80, TRAN: -0.20, ENH: 0.00
  • Freedom: CARE: 0.05, FAIR: 0.05, LOY: -0.20, AUTH: -0.30, LIB: 0.90, AGEN: 0.30, OPEN: 0.20, STAB: -0.30, TRAN: 0.10, ENH: 0.25

Step 1: Calculate the dot product (A · B)

Dot product = (CARE: -0.10 × 0.05) + (FAIR: 0.00 × 0.05) + (LOY: 0.20 × -0.20) + 
              (AUTH: 0.85 × -0.30) + (LIB: -0.65 × 0.90) + (AGEN: -0.10 × 0.30) +
              (OPEN: 0.50 × 0.20) + (STAB: 0.80 × -0.30) + (TRAN: -0.20 × 0.10) + 
              (ENH: 0.00 × 0.25)
            = -0.005 + 0.00 + (-0.04) + (-0.255) + (-0.585) + (-0.03) + 
              0.10 + (-0.24) + (-0.02) + 0.00
            = -1.075

Step 2: Calculate the magnitudes

|Obedience| = √(CARE² + FAIR² + LOY² + AUTH² + LIB² + AGEN² + OPEN² + STAB² + TRAN² + ENH²)
            = √((-0.10)² + (0.00)² + (0.20)² + (0.85)² + (-0.65)² + (-0.10)² + 
                (0.50)² + (0.80)² + (-0.20)² + (0.00)²)
            = √(0.01 + 0 + 0.04 + 0.7225 + 0.4225 + 0.01 + 0.25 + 0.64 + 0.04 + 0)
            = √2.135
            ≈ 1.46

|Freedom| = √(0.0025 + 0.0025 + 0.04 + 0.09 + 0.81 + 0.09 + 0.04 + 0.09 + 0.01 + 0.0625)
          = √1.2375
          ≈ 1.11

Step 3: Calculate cosine similarity

similarity = -1.075 / (1.46 × 1.11)
           = -1.075 / 1.62
           ≈ -0.66

Result: Strong negative similarity (-0.66) → These values strongly repel in the visualization, which matches the well-documented tension between authority/hierarchy and personal freedom in psychological research.

Example: Why Compassion and Empathy Attract

Vectors:

  • Compassion: CARE: 0.95, FAIR: 0.15, LOY: 0.10, AUTH: -0.20, LIB: 0.00, AGEN: -0.25, OPEN: 0.05, STAB: 0.00, TRAN: 0.70, ENH: -0.40
  • Empathy: CARE: 0.90, FAIR: 0.10, LOY: 0.05, AUTH: -0.20, LIB: 0.00, AGEN: -0.35, OPEN: 0.10, STAB: -0.05, TRAN: 0.65, ENH: -0.40

Step 1: Calculate the dot product

Dot product = (CARE: 0.95 × 0.90) + (FAIR: 0.15 × 0.10) + (LOY: 0.10 × 0.05) + 
              (AUTH: -0.20 × -0.20) + (LIB: 0.00 × 0.00) + (AGEN: -0.25 × -0.35) +
              (OPEN: 0.05 × 0.10) + (STAB: 0.00 × -0.05) + (TRAN: 0.70 × 0.65) + 
              (ENH: -0.40 × -0.40)
            = 0.855 + 0.015 + 0.005 + 0.04 + 0.00 + 0.0875 + 
              0.005 + 0.00 + 0.455 + 0.16
            = 1.6225

Step 2: Calculate the magnitudes

|Compassion| = √(0.9025 + 0.0225 + 0.01 + 0.04 + 0 + 0.0625 + 0.0025 + 0 + 0.49 + 0.16)
              = √1.6895
              ≈ 1.30

|Empathy| = √(0.81 + 0.01 + 0.0025 + 0.04 + 0 + 0.1225 + 0.01 + 0.0025 + 0.4225 + 0.16)
          = √1.5795
          ≈ 1.26

Step 3: Calculate cosine similarity

similarity = 1.6225 / (1.30 × 1.26)
           = 1.6225 / 1.64
           ≈ 0.99

Result: Very strong positive similarity (0.99) → These values cluster tightly together, as expected for values that both strongly emphasize care and concern for others.

Known Psychological Tensions Encoded

The vectors capture documented value conflicts from research:

Value Pair Predicted Relationship Why (Literature)
Freedom ↔ Authority Repel Liberty/Oppression vs. Authority (MFT)
Fairness ↔ Loyalty Repel Universal principles vs. in-group favoritism (MFT)
Innovation ↔ Tradition Repel Openness to Change vs. Conservation (Schwartz)
Achievement ↔ Compassion Repel Self-Enhancement vs. Self-Transcendence (Schwartz)
Security ↔ Autonomy Repel Safety needs vs. freedom needs
Compassion ↔ Empathy Attract Both high on Care/Harm foundation
Order ↔ Structure Attract Both high on Conservation values

Physical Forces in the Visualization

The system applies three types of forces:

  1. Similarity Links (attraction/repulsion)
    • Threshold: |similarity| > 0.3
    • Strength: similarity × 0.1
    • Distance: 80 × (1 - |similarity| × 0.5) pixels
  2. Relevance Positioning (when you select values)
    • High-relevance values move toward center
    • Low-relevance values pushed to periphery
    • Strength increases with anchor selections
  3. Boundary Forces
    • Keeps all values visible in viewport
    • Prevents nodes from escaping screen

Limitations & Context

What this IS:

  • Theory-driven encoding of established psychological frameworks
  • Hand-crafted based on decades of empirical research
  • Captures documented value trade-offs and conflicts

What this ISN’T:

  • Learned from actual survey data
  • Validated against individual responses
  • Culture-specific (these are Western psychology frameworks)
  • Precise to the decimal point (0.85 vs 0.80 is somewhat arbitrary)

Think of it as: A research-informed interactive model that helps you explore value relationships, not a precise psychological assessment tool.


Want to dive deeper? The full vector dataset (120 values × 10 dimensions) is embedded in the code. The frameworks are primarily from Jonathan Haidt’s Moral Foundations Theory and Shalom Schwartz’s Theory of Basic Human Values.

References

Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of deep bidirectional transformers for language understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT 2019), 4171–4186.

Haidt, J., & Graham, J. (2007). When morality opposes justice: Conservatives have moral intuitions that liberals may not recognize. Social Justice Research, 20(1), 98–116.

Schwartz, S. H. (1992). Universals in the content and structure of values: Theoretical advances and empirical tests in 20 countries. Advances in Experimental Social Psychology, 25, 1–65.

Turney, P. D., & Pantel, P. (2010). From frequency to meaning: Vector space models of semantics. Journal of Artificial Intelligence Research, 37, 141–188.

0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments