Thoughts

Thoughts is a fully federated microblogging platform built on ActivityPub, compatible with Mastodon, Misskey, Pleroma, and Movies Diary. It features a distinctive Frutiger Aero style straight out of the 00s.

Users can post short thoughts (up to 128 characters), reply, boost, and like. Profiles are fully customizable with user-supplied CSS. The feed is purely chronological — no algorithms.

Federation:

  • WebFinger, NodeInfo, shared inbox, paginated outbox, and actor profile sync
  • Remote actor discovery by @user@instance handle
  • Follow/unfollow remote actors with proper Accept/Follow delivery
  • Per-domain and per-actor moderation with Block activity delivery

Technical details:

  • Architecture Hexagonal (Ports & Adapters)
  • Backend Rust, Axum, SQLx
  • Frontend Next.js, TailwindCSS
  • Database PostgreSQL (full-text search via trigram indexes)
  • Event bus NATS JetStream (async AP delivery and notifications)
  • Auth JWT + API key
  • Docs OpenAPI (Swagger UI + Scalar)

Technologies

Rust

Axum

Next.js

TailwindCSS

ActivityPub

PostgreSQL

NATS

Gallery

Thoughts thumbnail 1

Links