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!

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

  • 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]

  • 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

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

  • 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)
@nus.bsky.social

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

Microcosm became a (tiny) part of IETF history:

Anuj Ahooja's avatar
Anuj Ahooja
@quillmatiq.com

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:

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
fig (aka:[phil])'s avatar
fig (aka:[phil])
@bad-example.com
atproto dev ecosystem is so nice 💖
Your codebase was inspiration for the fallback mechanism!

tangled.org/@whey.party/...

A whole accessible dev intro to microcosm:

Microcosm code is hosted on tangled <3

akshay oppiliappan's avatar
akshay oppiliappan
@oppi.li

i get so much atproto mileage from microcosm tools

fig (aka:[phil])'s avatar
fig (aka:[phil])
@bad-example.com
We've got some good-first-issues for @microcosm.blue, come get em!!
"@microcosm.blue/microcosm-rs" with two grouped issues:
- UFOs API: add `limit` param to `/records` for record samples
- Constellation: add `order` query page links from oldest -> newest

there is a large "issue tag" at the top, "good-first-issue" with subheader "Find beginner-friendly issues across all repositories to get started with open source contributions."
hello tanglers! this october, we want to get more people into making their first ever open source contribution! to help them out, we've got the 🟣 'good-first-issue' label!

head to tangled.org/goodfirstissues to see a list of issues across different repos that you can contribute to! 🤓

People getting it

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 (✈️ vacation/travel through mid-Jan)'s avatar
bryan newbold (✈️ vacation/travel through mid-Jan)
@bnewbold.net

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!

fig (aka:[phil])'s avatar
fig (aka:[phil])
@bad-example.com
I (finally!) wrote about scaling down the Bluesky AppView and how we can get to self-hosting beyond just your PDS in atproto!
Can atproto scale down?

Can atproto scale down?

Decomposing the Bluesky appview, and self-hosting the pieces


https://bsky.bad-example.com/can-atproto-scale-down/

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 💕