microcosm

microcosm 2025

A quick (and almost complete) retrospective of what happened in microcosm's first year

January 01, 2026

Microcosm is community infrastructure and self-hostable API services that make building on atproto fast and easy. In late February we kicked things off with the initial release of Constellation, a universal backlinks index that automatically works with all lexicons.

It's often easy for me to forget, but a lot else happened in 2025! This post has many lists of things I want to remember, but the best part of this year was meeting and being inspired by so many wonderful people in the community. The year wasn't easy in many ways, but you all have motivated me to get through it. Here's to even more in 2026.

If you're able, sponsoring me on github or supporting me on ko-fi helps this all keep going!

Community & Events

  • The microcosm discord server grew to 66 members. We won't stay with discord forever, but for now it's nice. Join, if you want!

  • Presented at atmosphereconf

  • Presented at atproTO toronto meetup

  • Attended IETF 124 in Montreal

Built with microcosm

I didn't do a great job of keeping track of all the projects people have launched using microcosm services! This is not a complete list! Let me know if I missed your project, I would love to add it!

  • PDS browsers pdsls.dev, atp.tools, and atexplore.social: constellation for backlinks

  • anisota.net: constellation for record viewer backlinks +more

  • at://giveaways: constellation for enumerating like and comment entries

  • at-toolbox: constellation actions

  • excuse: microcosm us-east jetstream

  • nucleus appview-less bluesky client: microcosm slingshot, constellation, spacedust, and jetstream.

  • wafrn: microcosm jetstream

  • cutebook: microcosm constellation, self-hosted(!) slingshot

  • wisp.place: microcosm slingshot

  • ewancroft.uk: slingshot, constellation

  • red dwarf: slingshot, constellation

  • witchsky.app: constellation

  • leaflet.pub: constellation for quotes and mentions

  • alpha.weaver.sh: constellation, slingshot, UFOs API

  • Blacksky: constellation and slingshot

  • atcute: built-in support for microcosm XRPC APIs

  • skythread: constellation

  • kibun embed: slingshot

  • deer.social: constellation for peer-to-peer verifications

  • ...and every fork of deer.social

  • a lexicon analysis by Ms Boba: UFOs API

  • Bluesky Jetstream Live: microcosm jetstreams

  • traverse.connectedplaces.online: constellation, slingshot

  • Verified accounts tracker: constellation

  • Pattern: constellation for contextual neighbour comments

  • a feed recommendation system from : constellation for like-neighbours

  • dropanchor.app: slingshot

  • atproto-snake: slingshot

  • leaflet-loader-astro: slingshot

  • skylite: spacedust

  • tangled issue search: constellation and slingshot

  • teal.town: slingshot

  • the firehoses have a decent number of consumers, many of which don't identify themselves :)

  • skyblur.uk: one of the first apps ever to use constellation!

Projects

Sources for projects are at https://tangled.org/microcosm.blue/ (some github code still needs to be moved)

I think this is most of what i worked on this year:

  • Constellation: global lexicon-agnostic backlink index

    • Primary microcosm infrastructure

    • Indexed over 11 BILLION links!

    • Community forks implementing alternate storage backends

    • At least a half-dozen third-party self-hosted instances!

  • Slingshot

    • Firehose-listening atproto record cache and identity resolver

    • Created a popular XRPC endpoint for easily querying identities, com.bad-example.identity.resolveMiniDoc

  • Spacedust

    • Backlinks firehose, filterable by link subject

  • plc.wtf and experimental.plc.wtf

    • PLC mirror wrapping (with Allegedly) the official reference implementation

    • High-availability database and application architecture meeting baseline adversarial PLC fork requirements

    • Experimental endpoints including upstream op forwarding

  • Allegedly

    • PLC server tools for rapid backfill, command-line op tailing, weekly bundle exporting, and several configurations for wrapping the reference PLC server implementation.

  • UFOs API

    • Samples and statistics of atproto records by collection NSID

    • Hourly HyperLogLog sketches for accurate unique-user estimates that can be aggregated over arbitrary sets of NSIDs and arbitrary timescales

    • Simple CORS-friendly APIs to query the data

  • UFOs app

    • Top lexicons, all lexicons, various stats and info, available over a web UI for UFOs API

  • Public full-network firehoses

    • Free-to-use public alternatives to Bluesky-owned infrastructure.

    • Among the longest-running and I think the most widely used alternatives.

    • Canada relay -> Canada jetstream

    • France relay -> Germany jetstream

    • US-East jetstream (listens to bsky.network relay)

  • debug.hose.cam

    • In-browser debugger with various diagnostics for handles, repos, and PDSs.

  • compare.hose.cam

    • In-browser tool for comparing public atproto firehoses

  • repo-stream

    • Fast and robust atproto CAR file processing in rust

    • Bounded memory usage by dumping large repos to disk

  • spacedust notifications demo [needs repair]

    • Universal atproto webpush notifications via Spacedust

  • Pocket demo (+reflector) [demo offline]

    • Personal private data storage for atproto apps

  • who-am-i [retired]

    • One-click atproto login for microcosm demos

  • backlinks for atproto-browser [retired]

    • Forked atproto-browser.vercel.app to add backlinks (never merged)

  • everything-app demo [retired]

    • Global timeline of recent records from all lexicons via UFOs API

    • Simple rendering heuristics made a surprising number of record types automatically pretty legible.

  • cardinality-estimator-safe

    • Fork (and significant rewrite) of cloudflare's cardinality-estimator to avoid memory unsafety

  • backlinks data explorer [bit out of date]

    • d3.js-powered slicing of 1.2B atproto backlinks

  • live-updating post rendering

    • zero bluesky infrastructure

    • initial interaction counts via constellation

    • interaction count updates (live) via spacedust

  • deactivated account checker

    • In-browser tool for measuring the impact of a (now-fixed) relay bug on your own following list

  • microcosm.blue website

    • with real live code examples

  • good-first-issues bot

    • live-skeeted tangled issues having their hacktober good-first-issues tag

  • at://advent [WIP]

    • Collab with (mostly Bailey's efforts so far!) to create a daily challenge game for introducing new people to atproto

Writing

  • Can atproto scale down?

  • Adversarial PLC directory migration

  • Ramblings about running full-network indie relays

  • Post-mortem of microcosm's biggest incident in 2025

  • "weekly" updates

Open-source

[TODO: it's going to take forever to look them all up]

  • bluesky-social contributions

  • rsky contributions

  • (more than i have time to actually look up)

Architecture & ops

[TODO: i need to write more about this! probably in a separate post]

  • micro-ops: infra automation that's Good Enough For Now

  • microcosm has redundant infrastructure with automatic failover

  • public constellation backups on object storage: self-hoster bootstraping and main service disaster recovery

[TODO: summarize all incidents this year (there weren't many!). maybe a follow-up post]

Financial

Support received

  • AtmosphereConf travel support

    • Flights and hotels were covered by the conference

  • plc.wtf domain

    • Initial purchase donated by a community member

  • Bug bounties

    • reported memory-unsafety vulnerabilities in Cloudflare's cardinality-estimator rust crate (still unfixed 🙃 use my fork if you need hyper-log-logs)

  • mikrokosmos mini-pc

    • Backup low-power high-capacity home server donated by a community member

  • Upcloud credit

    • One-time credit supporting the first few months of operations for plc.directory in a HA configuration

  • Bluesky grant

    • General support for community projects

  • Github sponsors & ko-fi supporters

    • (Many of whom I still need to thank!)

    • The support that will truly keep this going long-term

    • [TODO: share total amounts and current monthly recurring]

Expenses

[TODO: collect all the actual numbers here]

  • Hardware

    • Raspberry Pi

      • 2x Pi 5 16GB

      • 1x Pi 5 8GB

      • NVME BASEs and HATs

      • SSDs

      • Power adapters

      • SD cards

    • RAM and SSD for micro-PC

    • Network switch

    • UPS power supply

  • Cloud servers

    • plc.wtf (upcloud)

    • Relays and Jetstream hosts (Servarica, OVH, Hetzner)

    • API gateways (DigitalOcean, Vultr)

    • Slingshot (OVH)

    • Slingshot dev machine (OVH)

  • Domains

    • microcosm.blue

    • hose.cam

    • plc.wtf

    • at-app.net

    • advent.codes

  • IETF 124 attendance

    • self-funded travel, hotel, meals, and full ticket

  • github sponsorships & ko-fi support

    • supported 10 atproto-community-oriented devs and projects

  • Blacksky

    • monthly contribution

Nice things that happened

I try to keep up with the Japanese atproto dev community, but sometimes I miss posts like this one:

なす(Nus)'s avatar
なす(Nus)
4mo

microcosmの方のJetstreamめちゃくちゃ安定してて本家の不安定さはなんなんだって気になる。 やっぱ接続多くて負荷高いのかなぁ。

Microcosm became a (tiny) part of IETF history:

Anuj Ahooja's avatar
Anuj Ahooja
3mo

The ATProto ecosystem at #IETF24 (Graze also mentioned!)

a slide showing atproto implementations like semble, skylight, leaflet, microcosm, germ, stream.place, and smoke signal

Blacksky uses microcosm services:

Clinton Bowen's avatar
Clinton Bowen
4mo

Blacksky is now using @bad-example.com's microcosm in two services. ko-fi.com/bad_example github.com/sponsors/uni... Support @bad-example.com!

Support phil

Support phil

Support phil


https://ko-fi.com/bad_example

A whole accessible dev intro to microcosm:

mew's avatar
mew
2mo

Building user interactivity on your website without a backend.

Building user interactivity on your website without a backend.

AT Proto lets you build social features without running any backend. The user authenticates, you write a record to their repo, Constellation indexes it, and anyone can query those backlinks. The data lives with the users. Your website is just a view.


https://nekomimi.leaflet.pub/3m6pcklmvt222

Microcosm code is hosted on tangled <3

akshay oppiliappan's avatar
akshay oppiliappan
4mo

i get so much atproto mileage from microcosm tools

People getting it

dan's avatar
dan
4mo

with @slices.network and @microcosm.blue Constellation offering easy indexing on the atmosphere, we’re getting close to a point where forks of the official bluesky client can augment it with non-trivial new features without running their own backend

bryan specifically

bryan newbold's avatar
bryan newbold
1y

one of the best pieces of writing on atproto architecture. if you enjoyed the blog posts that @dustyweb.bsky.social and I exchanged, you should read this!

This was a very short list, lots and lots of other nice things and nice people happened in 2025!!!


Cutting myself off here because there's lots more to get started on


Please consider supporting microcosm

Sponsor @uniphil on GitHub Sponsors
currently hacking on and hosting atproto projects: https://microcosm.blue art and transistors, small things that are nice
https://github.com/sponsors/uniphil/
Support phil
https://ko-fi.com/bad_example

The development and long-term upkeep of this community infrastructure relies on community support 💕

Subscribe to microcosm
to get updates in Reader, RSS, or via Bluesky Feed
"statistically reasonable maximum"
Adversarial PLC directory migration