Curate links.
Share them across the open social web.
Commonplace is a link collection manager for the open social web. Organise links by topic, invite collaborators, and share collections with people on Mastodon, Bluesky, and RSS — without asking them to sign up anywhere new.
Who uses it, and how
Commonplace is for anyone who curates links and wants to share them with people they already know on the open social web.
Share reading lists with your students
Create a collection for each course or topic. Students follow it from Mastodon or subscribe on Bluesky. New readings appear directly in their timeline, alongside everything else they follow.
Maintain a living bibliography
Add papers, articles, and data sources as you find them. Colleagues follow the collection from any ActivityPub client. The collection is also available as an RSS feed for feed readers.
Build shared reference lists together
Invite co-curators by handle. Anyone can propose links — even from Mastodon, with a reply. Curators approve or dismiss proposals without leaving the interface.
How it works
You create a collection of links around a topic. Add a title, description, and tags. Invite co-curators by their Mastodon or Bluesky handle. When someone adds a link, Commonplace fetches the title and description from the page automatically. Instance admins can also enable preview image display.
Each collection gets its own identity on the open social web. People follow it from their existing Mastodon or Bluesky account, or subscribe via RSS — no new sign-up, no extra app. When you add a link, it lands in their timeline.
You add a link
Paste a URL — title and description are fetched automatically. Add tags and a note.
Collection broadcasts
Your collection has its own address on the open social web. Commonplace sends the update to all followers at once — no cross-posting needed.
Followers see it instantly
The link appears in their existing app — no new account, no redirect, no extra steps.
Log in with your existing identity
No new account, no new password. Commonplace uses the identity you already have on the open web.
Mastodon or Fediverse
Any Mastodon, Akkoma, Misskey, or Pixelfed account works. You redirect to your home server's login screen — Commonplace never sees your password.
Bluesky
Sign in with your Bluesky handle. You redirect to Bluesky's own login screen — Commonplace never sees your password. Works with any Bluesky account, including custom domain handles.
IndieAuth
Use your personal website as your identity. Point Commonplace at your domain and it handles the rest. No Mastodon or Bluesky account needed.
What’s in v2.4.7 — and what’s next
Everything below ships in the current release. Items marked with ◦ are planned but not yet built.
Collections & resources
- Create, edit, and delete collections with title, description, and tags
- Add links — title and description fetched automatically; preview images available when enabled by admin
- Public, unlisted, and members-only visibility
- Manual resource reordering (▲/▼)
- Pin and vote on resources
- Batch operations — delete selected, add tags to selected
- Import from Netscape bookmarks HTML, CSV, and OPML
- Dead link detection (background worker)
- Personal inbox collection (auto-created, private)
- Browser bookmarklet for quick link capture
Collaboration
- Invite co-curators by Mastodon or Bluesky handle
- Link proposals — any logged-in user can suggest a link
- Federated proposals —
!propose <url>from any Mastodon client - Tag normalisation suggestions (background worker)
Discovery
- Full-text search across titles, descriptions, and tags
- Tag browsing — paginated tag cloud with A–Z index
- Related collections (tag-overlap affinity)
- Open Graph tags and structured data on all pages
- RSS feed on every collection and the whole instance
- Curator notes on individual resources
Federation
- ActivityPub Group actor per collection (Mastodon, Akkoma, Misskey, GoToSocial, Pixelfed)
- Instance-level ActivityPub actor — follow the whole instance as
@instance@your.domain - AT Protocol feed generator per collection and for the whole instance (Bluesky)
- Firehose WebSocket endpoint for real-time sync
Login
- Mastodon / Fediverse OAuth
- Bluesky / AT Protocol OAuth
- IndieAuth (your own domain)
- No email or password required
Moderation & admin
- Resource flagging with reason and note
- Public abuse report form
- Public takedown request form
- Admin panel — suspend, promote, export, delete users
- Per-domain silence and defederate policies
- URL blocklist
- Optional SMTP notifications on new flags and reports
Coming in future releases
- Real-time collaboration (WebSocket live updates)
- Collection forking — clone a public collection
- IndieWeb / Micropub integration
- File attachments on resources
- Multi-instance federated search
Recent changes
What has changed in the last few releases.
Instance-level federation + security hardening
The instance is now a first-class ActivityPub actor — follow @instance@your.domain from Mastodon to receive updates whenever a new public collection is created. An instance-level RSS feed and Bluesky feed URI are both available from the subscribe button on the home page. Security headers (CSP, HSTS, X-Frame-Options, and more) are now set on every response, and a global 4 MB request body limit guards against oversized payloads.
2026-04-07
IndieAuth login
Log in with your personal domain URL via the IndieAuth spec. Discovers your authorisation and token endpoints from HTML link tags or HTTP headers, uses PKCE S256 for the code exchange, and verifies the me URL on callback.
2026-04-06
Tag normalisation suggestions
A daily background worker scans each collection's tags and detects case variants (e.g. AI → ai) and hyphen/space variants (e.g. machine-learning / machine learning). Curators see a suggestions panel and can apply or dismiss each one.
2026-04-06
Sorting for tags and collections
The tags page now supports alphabetical view with letter-anchored navigation alongside the default popularity order. The collections list supports sort by newest, popular, alphabetical, and oldest.
2026-04-06
For developers and self-hosters
Run your own instance
Commonplace is free and open source under AGPL-3.0. Everything below is aimed at people who want to deploy, extend, or build on it.
Self-host it
A single binary, a TOML config file, and a domain. That is all you need.
Requirements
- Go 1.22+ (build only)
- A server with a public domain
- A reverse proxy with TLS (Caddy, nginx, etc.)
- No CGo, no external database, no Redis
Install
Build from source
Run
Minimal config
Docker
Federation in detail
Each collection exposes a full federated identity on both ActivityPub and AT Protocol. Nothing extra to configure.
ActivityPub (Mastodon and the Fediverse)
Every collection is an ActivityPub Group actor. Follow it from Mastodon, Akkoma, Misskey, or any other AP client. When a new link is added, it appears as a post from that Group in your home timeline.
HTTP Signatures use Ed25519 keys. The Group’s outbox, followers, and inbox all work as specified in the AP spec.
Follow address: @collection-slug@your.instance
AT Protocol (Bluesky)
Every collection is also an AT Protocol feed generator. Subscribe to it from Bluesky and new links appear in your feed list, alongside your other custom feeds.
Authentication uses DPoP-bound tokens with PAR and PKCE. Identity resolution supports both did:plc and did:web.
A firehose WebSocket endpoint at /xrpc/com.atproto.sync.subscribeRepos allows real-time sync with relay infrastructure.
Tech stack
Built for straightforward deployment and easy contribution.
- Language
- Go 1.22+, no CGo
- Database
- SQLite in WAL mode (
modernc.org/sqlite) - Binary
- Single static binary, cross-platform
- Router
- chi v5, server-rendered HTML, no JS framework
- Auth
- Mastodon OAuth, AT Protocol (DPoP, PAR, PKCE), IndieAuth
- AP signing
- Ed25519 HTTP Signatures
- Licence
- AGPL-3.0
Contributions welcome. The codebase is structured as a standard Go module — no generated code, no build toolchain beyond make. Tests use the standard library.