We should make Nostr the best place to rally around causes.

Leo Wandersleb

npub1gm7tuvr9atc6u7q3gevjfeyfyvmrlul4y67k7u7hcxztz67ceexs078rf6

hex

aafe9015c85dfd9d8fd5b87ea4ccb26e61b0636b232e12d7762264f20dad295e

nevent

nevent1qqs24l5szhy9mlva3l2msl4yejexucdsvd4jxtsj6amzye8jpkkjjhsprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsydl97xpj74udw0qg5vkfyujyjxd3l706jd0t0w0turp93d0vvung3q5dxv

Kind-1 (TextNote)

2026-04-23T12:29:34Z

We should make Nostr the best place to rally around causes.

Badges (NIP-58) never found PMF for political/technical signaling. Emoji flags in display names are cute but shallow. We can do much better with primitives that already exist.

  1. NIP-32 labels as the machine-readable stance kind 1985 with ["L","causes"] ["l","bip110/oppose","causes"] → queryable, aggregatable, namespaced

  2. NIP-23 article as the "why" Long-form reasoning the label points to via "a" tag → substance, not just vibes

  3. Zaps as weight Sats-backed support filters noise and raises signal quality

  4. Web-of-trust as the lens "How does MY network feel about X?" — computable client-side → sybil-resistant by default, no global moderation needed

What's missing is UI, not protocol. Imagine a "Causes" tab:

  • Trending topics by WoT activity
  • Tally of support/oppose, weighted by zaps + trust distance
  • One tap to publish your stance + reasoning
  • See which npubs you trust stand where

Optional: a replaceable kind (e.g. 30178) with d-tag = topic, for "current stance" semantics. One canonical position per user per topic, updatable over time.

原始 JSON

{
  "kind": 1,
  "id": "aafe9015c85dfd9d8fd5b87ea4ccb26e61b0636b232e12d7762264f20dad295e",
  "pubkey": "46fcbe3065eaf1ae7811465924e48923363ff3f526bd6f73d7c184b16bd8ce4d",
  "created_at": 1776947374,
  "tags": [
    [
      "alt",
      "A short note: We should make Nostr the best place to rally aroun..."
    ]
  ],
  "content": "We should make Nostr the best place to rally around causes.\n\nBadges (NIP-58) never found PMF for political/technical signaling. Emoji flags in display names are cute but shallow. We can do much better with primitives that already exist.\n\n1. NIP-32 labels as the machine-readable stance\n   kind 1985 with [\"L\",\"causes\"] [\"l\",\"bip110/oppose\",\"causes\"]\n   → queryable, aggregatable, namespaced\n\n2. NIP-23 article as the \"why\"\n   Long-form reasoning the label points to via \"a\" tag\n   → substance, not just vibes\n\n3. Zaps as weight\n   Sats-backed support filters noise and raises signal quality\n\n4. Web-of-trust as the lens\n   \"How does MY network feel about X?\" — computable client-side\n   → sybil-resistant by default, no global moderation needed\n\nWhat's missing is UI, not protocol. Imagine a \"Causes\" tab:\n- Trending topics by WoT activity\n- Tally of support/oppose, weighted by zaps + trust distance\n- One tap to publish your stance + reasoning\n- See which npubs you trust stand where\n\nOptional: a replaceable kind (e.g. 30178) with d-tag = topic, for \"current stance\" semantics. One canonical position per user per topic, updatable over time.",
  "sig": "8f8008d8fc06fa21582b44a91700cb34695b34f1211468f18a6725cec1ec44e9440ea664e9595d265c2e71ec0f280e8894200b9afb79acb415077fd1260e0d77"
}