npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

solid-chat

v0.0.19

Published

Modern chat panes for Solid pods - longChatPane and chatListPane

Readme

Solid Chat

Modern, decentralized chat app built on the Solid protocol.

Live App: solid-chat.com/app

Features

Core

  • Clean, WhatsApp-style messenger UI
  • Decentralized - messages stored in Solid pods
  • Implements the Solid Chat specification
  • Works with any Solid pod provider (solidweb.org, solidcommunity.net, inrupt.net, etc.)
  • No React/heavy frameworks - vanilla JS

Authentication

  • Solid OIDC authentication
  • Multi-provider support (enter any IDP)
  • Persistent sessions

Real-time

  • WebSocket updates (NSS Updates-Via header)
  • WebSocketChannel2023 support (CSS/solidcommunity.net)
  • Notification sounds (toggleable)

Messaging

  • Send and receive messages
  • Edit your own messages (requires Write permission)
  • Delete your own messages (requires Write permission)
  • Simple markdown: *bold*, _italic_, ~strike~, `code`, ```code blocks```
  • Emoji picker
  • Emoji reactions: 👍 ❤️ 😂 😮 😢 🎉

Media

  • File upload to your pod (📎 button)
  • Paste images directly (Ctrl+V)
  • Auto-expand images, video, and audio inline
  • Clickable URLs

Sidebar

  • Chat list with recent chats
  • Type Index auto-discovery of your chats
  • Create new chats on your pod
  • Manual chat URL addition
  • Persistent storage (localStorage)

Sharing & Deep Links

  • Share button (📋) copies shareable link
  • Deep link support: ?chat=<url> loads or creates chat
  • Auto-create: links to your pod create rooms on demand
  • Type Index registration for discoverability

UI/UX

  • Avatar display from WebID profiles
  • Clickable author names (links to WebID)
  • Clickable timestamps (permalinks to message URI)
  • "(edited)" indicator for edited messages
  • Message count in header
  • Unread message badges
  • Remember current room across refreshes

Themes

  • Wave (WhatsApp-style green)
  • Signal (clean blue)
  • Telegram (blue with patterns)
  • Solid (purple/gradient)

Saved Messages

  • Telegram-style "notes to self"
  • Auto-created on your pod
  • Private by default

Quick Start

# Run instantly (no clone needed)
npx solid-chat

# Or clone and run
git clone https://github.com/solid-chat/app.git
cd app
npm install
npm start

Usage

  1. Enter your Solid IDP (e.g., solidweb.org) and click Login
  2. Select a chat from the sidebar or add a new one
  3. Start chatting!

Default Global Chats

  • https://solid-chat.solidweb.org/public/global/chat.ttl (faster)
  • https://solid-chat.solidcommunity.net/public/global/chat.ttl

Deep Links

Share chats with a URL:

https://solid-chat.com/app?chat=https://you.solidweb.org/public/chats/my-room.ttl

Behavior:

  • If chat exists → loads it
  • If chat doesn't exist AND it's your pod → creates it automatically
  • Change one character → instant new room

Create rooms on demand:

https://solid-chat.com/app?chat=https://you.pod/public/chats/meeting-monday.ttl
https://solid-chat.com/app?chat=https://you.pod/public/chats/meeting-tuesday.ttl

Click the share button (📋) in any chat to copy the shareable link.

Chat Data Format

Messages use standard Solid chat vocabularies (RDF/Turtle):

@prefix sioc: <http://rdfs.org/sioc/ns#>.
@prefix dct: <http://purl.org/dc/terms/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.

<#msg-1234567890>
    a <http://www.w3.org/2005/01/wf/flow#Message> ;
    sioc:content "Hello world!" ;
    dct:created "2024-12-30T10:00:00Z"^^xsd:dateTime ;
    foaf:maker <https://you.solidweb.org/profile/card#me> .

Reactions use Schema.org:

@prefix schema: <http://schema.org/>.

<#reaction-1234567890>
    a schema:ReactAction ;
    schema:about <#msg-123> ;
    schema:agent <https://you.solidweb.org/profile/card#me> ;
    schema:name "👍" .

Testing

npm install
npm test

Specification

This app implements the Solid Chat specification.

Roadmap

  • [x] Solid OIDC authentication
  • [x] Chat list sidebar
  • [x] Real-time updates (WebSocket + WebSocketChannel2023)
  • [x] Notification sounds
  • [x] File upload
  • [x] Image paste
  • [x] Media auto-expand
  • [x] Simple markdown
  • [x] Edit/delete messages
  • [x] Emoji reactions
  • [x] Create new chats
  • [x] Deep link sharing (?chat=<url>)
  • [x] Type Index registration
  • [x] Mobile responsive sidebar
  • [x] Unread message badges
  • [x] Theme support
  • [x] Saved Messages
  • [ ] @mentions with notifications
  • [ ] End-to-end encryption
  • [ ] Message search
  • [ ] Push notifications
  • [ ] Offline support

License

See LICENSE