Welcome to the Stream 🌊

Hey there! Welcome to the official documentation for non-activity.stream.

If you're tired of the corporate, walled-garden approach to social media—and even the slightly-less-corporate-but-still-heavy "orthodox" ActivityPub approach—you're in the right place.

We're building a fast, offline-first, anti-corporate social stream that you actually own. It's emergent, it's fun, and it's built entirely on standard web components.

What is this thing?

At its core, non-activity.stream is a set of framework-agnostic UI components (like <non-activity-stream>) that know how to render ActivityStreams 2.0 data.

But it's more than just UI. It's a philosophy:

  • Bring Your Own Backend: We don't want to host your data. You can plug these components into Mastodon, a local SQLite database, or a Raspberry Pi under your desk.
  • Offline-First: The web is flaky. Your social feed shouldn't be. We use robust local caching (IndexedDB) so you can read and interact even when you're on a train.
  • Lightweight: No massive server infrastructure required. Just drop a script tag on a page and you're good to go.

The "Hello World"

Want to see it in action? It's literally just HTML.

<script type="module" src="https://unpkg.com/@nonactivity.stream/elements"></script>

<!-- A dumb, read-only stream -->
<non-activity-stream id="my-feed"></non-activity-stream>

<script>
  const feed = document.getElementById('my-feed');
  
  // Feed it standard ActivityStreams 2.0 data!
  feed.collection = {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "OrderedCollection",
    "totalItems": 1,
    "orderedItems": [
      {
        "type": "Note",
        "content": "Hello, decentralized world! 🌍",
        "published": "2026-02-19T12:00:00Z"
      }
    ]
  };
</script>

Where to next?

  • Getting Started: Learn how to install and use the components in React, Next.js, or plain HTML.
  • The Components: Deep dive into <non-activity-stream> and <non-activity-note>.
  • Theming: All CSS custom properties — card backgrounds, thread lines, typography, accent color, and dark mode patterns.
  • Controllers & Data: Learn how to make the "dumb" UI smart by connecting it to real data sources.
  • Deep Linking: Discover how we use Multibase SHA-256 hashes for deterministic, serverless deep linking.

Let's build a better web together. ✊