FEDERATION · 5 NODES · 5 IMAGINED

PointCast is a node.

Most blogs are islands. A federation is a network. Every dot below is a PointCast-adjacent node — real, imagined, or somewhere between. Inner ring is close; outer ring is watching. Colors are kinds: blog, zine, bench, broadcast, feed. Dashed edges mean imagined — a placeholder describing what a node would be if it existed. Promote to live when the URL resolves.

ME POINTCAST.XYZ BE BENCH Bench · Who's building what. A running log of sketches, shipped weekends, failed merges, small tools that wanted to exist. Not a portfolio — a workbench. Reads like GitHub activity if GitHub had a voice. GA GARDEN Garden · Slow-tempo garden feed. Notes from a plot somewhere between zine and field journal. Posts land when the plants do something — not on a schedule. Reads like a neighbor's mailbox-left newspaper. RI RIVERSIDE Riverside · Riverside editorial. Longer-form than a blog, quieter than a magazine. One piece per week, most Fridays, sometimes Sunday. Topics drift — a river does not pick its subjects. WH WHARF Wharf · Dockside operations log. Live radar on what's tying up, what's casting off, who's unloading. The kind of feed a harbor master would keep if the harbor master were a generous stranger broadcasting to anyone listening. BE BELLS Bells · Ambient signal from the towers. A feed of carillon recordings, city bells at the hour, ferry horns, mosque calls, distant thunder. Time-stamped, geo-tagged, no commentary. Listen-only.

THE NODES · IN FULL

ADD TO THE NETWORK · pointcast.federation/v0

A public route.
A private destination.

Join as a person on the PointCast node, maintain a directory for your own community, or take responsibility for one channel adapter. Start with one consenting person and one human-approved message.

REGISTRYLIVE
JOIN REVIEWMANUAL
FIRST ROUTEHUMAN-APPROVED
CROSS-NODE SENDNOT LIVE YET

01

Join as a person

Choose how you want to be reached. PointCast keeps the destination private and publishes only the route type and consent state.

  • name
  • home community
  • preferred channel
  • permission to contact
  • optional register note

02

Run a community node

Maintain a small directory for a place, publication, club, or project and publish a public node card on your own domain.

  • node name
  • canonical URL
  • maintainer
  • public directory URL
  • supported channel types

03

Maintain an adapter

Connect one channel without changing the core protocol. Adapters translate a reviewed message into a draft or send request and return a receipt.

  • channel
  • source repository
  • maintainer
  • approval mode
  • receipt support

JOINING INSTRUCTIONS

Four moves.
One real route.

The home node keeps the actual email address, phone number, or private handle. The network sees only what is needed to request a route.

Private details go by email. Public node metadata can go through GitHub.
  1. 01

    Choose a home node

    Every person belongs to the community that actually knows how to reach them. PointCast can be the first home node; later communities can run their own.

  2. 02

    Publish only the public card

    List a stable ID, display name, home node, available channel types, consent state, and last-confirmed date. Never publish an email address, phone number, or private handle.

  3. 03

    Request review

    Email the private details to PointCast or open a pull request containing only public node metadata. A maintainer reviews the card before it enters the registry.

  4. 04

    Prove one route

    The first message is drafted for human approval. Its result is recorded precisely as drafted, approved, submitted, delivered, confirmed, or replied.

FOR COMMUNITY MAINTAINERS

Publish one small card.

Put this at /.well-known/pointcast-federation.json on your domain. Replace the examples, keep private destinations local, then submit the URL to the registry.

{
  "protocol": "pointcast.federation/v0",
  "node": {
    "id": "your-community",
    "name": "Your Community",
    "url": "https://example.org",
    "maintainedBy": "Your name or group"
  },
  "directory": {
    "public": "https://example.org/people.json",
    "privateDestinationsStayLocal": true
  },
  "capabilities": {
    "channels": [
      "email"
    ],
    "approval": "human-required",
    "receipts": [
      "drafted",
      "approved",
      "submitted"
    ]
  },
  "contact": "mailto:hello@example.org"
}

THE BOUNDARY

Never put private contact information in a public card or pull request.

  • Never public: email addresses, phone numbers, private handles, access tokens.
  • Public by choice: name, home node, channel types, consent state.
  • Revocable: a person can change their route or leave the directory.
  • Relationship edges: require a real introduction or collaboration.

RECEIPTS, NOT CLAIMS

Say exactly what happened.

draftedapprovedsubmitteddeliveredconfirmedreplied

Submitted does not mean delivered. Delivered does not mean personally confirmed. A receipt advances only when the evidence exists.

EMBED · "SEEN ON POINTCAST"

Other nodes can embed this badge to indicate a PointCast citation. Compact SVG, cacheable, degrades cleanly. Paste the line below on your own page.

Seen on PointCast
<a href="https://pointcast.xyz"><img src="https://pointcast.xyz/api/badge.svg" alt="Seen on PointCast" width="110" height="28"></a>

MACHINE-READABLE