{"slug": "constellation", "name": "Constellation", "category": "selfhosted", "category_name": "Self-hosted and home server", "description": "", "recommenders": 3, "commenters": 3, "warners": 0, "score": 1.981, "rising": -0.98, "first": "2026-01-19", "latest": "2026-08-10", "why": "It can be self hosted and is much lighter than running a full appview.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 2, "compare": 0, "warn": 0}, "spark": [0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "It can be self hosted and is much lighter than running a full appview.", "kind": "", "icon": false, "domain": "microcosm.blue", "github_repo": null, "official_url": "https://www.microcosm.blue", "pricing": "", "aliases": ["Constellation"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 782967104, "item_id": 48935444, "url": "https://news.ycombinator.com/item?id=48935444", "by": "danabramov", "date": "2026-07-16", "version": null, "stance": "recommend", "quote": "rely on a community cache like https://constellation.microcosm.blue/ instead", "excerpt": ">If you want to run a social network on ATProto, you do need the relay and app view, and those are indeed heavy requirements, but the architecture is not the same, and it depends what you're actually trying to achieve. Note those are not heavy requirements in any atproto-specific sense. Running an atproto relay (at the current scale) is $30/month. If you're running a popular app, this is probably comparable with some", "context": "", "use_case": "Community cache for atproto apps", "switched_from": "", "story": "Bluesky Trademarks ATProto"}, {"id": 777782244, "item_id": 48611390, "url": "https://news.ycombinator.com/item?id=48611390", "by": "danabramov", "date": "2026-06-20", "version": null, "stance": "recommend", "quote": "You could use Constellation (https://constellation.microcosm.blue/) to fill up threads", "excerpt": "> What steps do I have to follow to get the majority of users to see my content? You can\u2019t \u201cget\u201d the majority of the people to see anything, that\u2019s not how anything works. Neither on centralized systems, nor on Mastodon, nor in real life. On a centralized platform, if you get banned, there are no steps you can take. Your account is down \u2014 goodbye. On a Mastodon instance, there are also no steps you can take. Your acc", "context": "", "use_case": "Filling in thread replies", "switched_from": "", "story": "There Are No Instances in ATProto"}, {"id": 777616848, "item_id": 48601053, "url": "https://news.ycombinator.com/item?id=48601053", "by": "danabramov", "date": "2026-06-19", "version": null, "stance": "recommend", "quote": "many smaller apps today rely on Constellation", "excerpt": "Yeah, Relays are one way to do that. I've mostly skipped them because they're an invisible optimization and there are other strategies. E.g. many smaller apps today rely on Constellation (https://constellation.microcosm.blue/) instead of building their own database index, so they don't use a Relay at all.", "context": "", "use_case": "AT Protocol index", "switched_from": "", "story": "There Are No Instances in ATProto"}, {"id": 777615408, "item_id": 48600963, "url": "https://news.ycombinator.com/item?id=48600963", "by": "danabramov", "date": "2026-06-19", "version": null, "stance": "recommend", "quote": "There are caches like Constellation", "excerpt": "Author here! I mostly skipped over it because a Relay is an optimization and not essential to the shape of the network. It's not a fundamental element in the same way that PDS (hosting) and AppViews (app servers) are. It's more like a \"next reasonable thing\" an engineer would bolt on to make it easy to create apps. An app can work without a Relay (like https://reddwarf.app/ does). There are caches like Constellation ", "context": "", "use_case": "ATProto record cache", "switched_from": "", "story": "There Are No Instances in ATProto"}, {"id": 756840225, "item_id": 47302514, "url": "https://news.ycombinator.com/item?id=47302514", "by": "jauntywundrkind", "date": "2026-03-08", "version": null, "stance": "recommend", "quote": "Phil here also runs a public link indexer service", "excerpt": "Ingressing the firehose is by far the easiest part. Here's someone doing it on a $4/mo VPS. Lots of other examples, many on slightly more expensive systems. Phil here also runs a public link indexer service for all Bluesky on a raspberry pi 4 (\"Constellation\")!! https://bsky.app/profile/bad-example.com/post/3mfkrfvy3ok2u https://constellation.microcosm.blue/ There's no other network where anything like this is remote", "context": "", "use_case": "", "switched_from": "", "story": "Blacksky AppView"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["community cache for atproto apps", "filling in thread replies", "community index for at protocol", "at protocol index", "atproto record cache", "collecting atproto backlinks"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48599515", "title": "There Are No Instances in ATProto", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=49202912", "title": "ATProto for Distributed Systems Engineers", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48929351", "title": "Bluesky Trademarks ATProto", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47948603", "title": "Tangled \u2013 We need a federation of forges", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47301808", "title": "Blacksky AppView", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46665839", "title": "A Social Filesystem", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {"recommend": 1}, "2026-04": {"neutral": 1}, "2026-05": {}, "2026-06": {"recommend": 1}, "2026-07": {"recommend": 1}, "2026-08": {"neutral": 1}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 787877650, "item_id": 49242353, "url": "https://news.ycombinator.com/item?id=49242353", "by": "danabramov", "date": "2026-08-10", "version": null, "stance": "neutral", "quote": "caches like Hubble[1] and Constellation[2] (which let you query the entire network in one request)", "excerpt": ">Yes, the user data is decoupled from the apps, but aren't both stored on some kind of instances? There are two main kinds of \"nodes\" in atproto: - Hosting aka \"personal data servers\" (PDS). This is dumb JSON hosting that you can query by HTTP or watch by Websocket. Super cheap to run. They don't talk to each other. You can have one per user, or one per many thousands. - Apps. These are your normal webapps. (But they", "context": "", "use_case": "", "switched_from": "", "story": "ATProto for Distributed Systems Engineers"}, {"id": 782967104, "item_id": 48935444, "url": "https://news.ycombinator.com/item?id=48935444", "by": "danabramov", "date": "2026-07-16", "version": null, "stance": "recommend", "quote": "rely on a community cache like https://constellation.microcosm.blue/ instead", "excerpt": ">If you want to run a social network on ATProto, you do need the relay and app view, and those are indeed heavy requirements, but the architecture is not the same, and it depends what you're actually trying to achieve. Note those are not heavy requirements in any atproto-specific sense. Running an atproto relay (at the current scale) is $30/month. If you're running a popular app, this is probably comparable with some", "context": "", "use_case": "Community cache for atproto apps", "switched_from": "", "story": "Bluesky Trademarks ATProto"}, {"id": 777782244, "item_id": 48611390, "url": "https://news.ycombinator.com/item?id=48611390", "by": "danabramov", "date": "2026-06-20", "version": null, "stance": "recommend", "quote": "You could use Constellation (https://constellation.microcosm.blue/) to fill up threads", "excerpt": "> What steps do I have to follow to get the majority of users to see my content? You can\u2019t \u201cget\u201d the majority of the people to see anything, that\u2019s not how anything works. Neither on centralized systems, nor on Mastodon, nor in real life. On a centralized platform, if you get banned, there are no steps you can take. Your account is down \u2014 goodbye. On a Mastodon instance, there are also no steps you can take. Your acc", "context": "", "use_case": "Filling in thread replies", "switched_from": "", "story": "There Are No Instances in ATProto"}, {"id": 777634466, "item_id": 48602154, "url": "https://news.ycombinator.com/item?id=48602154", "by": "danabramov", "date": "2026-06-19", "version": null, "stance": "recommend", "quote": "", "excerpt": "I think that\u2019s a part of it but doesn\u2019t state it fully. AT doesn\u2019t just give consistency, but a shared data model across apps. So apps can reference and render content from other apps. It\u2019s really kind of like a web of typed JSON. Different apps are lenses through which you can see the same network. Anyone can build new experiences on top of old data. There\u2019s nothing remotely equivalent in AP. AP couples data to apps", "context": "", "use_case": "Community index for AT Protocol", "switched_from": "", "story": "There Are No Instances in ATProto"}, {"id": 777616848, "item_id": 48601053, "url": "https://news.ycombinator.com/item?id=48601053", "by": "danabramov", "date": "2026-06-19", "version": null, "stance": "recommend", "quote": "many smaller apps today rely on Constellation", "excerpt": "Yeah, Relays are one way to do that. I've mostly skipped them because they're an invisible optimization and there are other strategies. E.g. many smaller apps today rely on Constellation (https://constellation.microcosm.blue/) instead of building their own database index, so they don't use a Relay at all.", "context": "", "use_case": "AT Protocol index", "switched_from": "", "story": "There Are No Instances in ATProto"}, {"id": 777615408, "item_id": 48600963, "url": "https://news.ycombinator.com/item?id=48600963", "by": "danabramov", "date": "2026-06-19", "version": null, "stance": "recommend", "quote": "There are caches like Constellation", "excerpt": "Author here! I mostly skipped over it because a Relay is an optimization and not essential to the shape of the network. It's not a fundamental element in the same way that PDS (hosting) and AppViews (app servers) are. It's more like a \"next reasonable thing\" an engineer would bolt on to make it easy to create apps. An app can work without a Relay (like https://reddwarf.app/ does). There are caches like Constellation ", "context": "", "use_case": "ATProto record cache", "switched_from": "", "story": "There Are No Instances in ATProto"}, {"id": 767239904, "item_id": 47952494, "url": "https://news.ycombinator.com/item?id=47952494", "by": "danabramov", "date": "2026-04-29", "version": null, "stance": "neutral", "quote": "relying on services like https://constellation.microcosm.blue/ for querying backlinks", "excerpt": "Note a relay is a perf optimization and doesn\u2019t have to be a single shared chokepoint. These days running a relay is fairly cheap (~$30/mo?), there\u2019s maybe a dozen of them, and some apps don\u2019t use one at all (instead relying on services like https://constellation.microcosm.blue/ for querying backlinks).", "context": "", "use_case": "", "switched_from": "", "story": "Tangled \u2013 We need a federation of forges"}, {"id": 756840225, "item_id": 47302514, "url": "https://news.ycombinator.com/item?id=47302514", "by": "jauntywundrkind", "date": "2026-03-08", "version": null, "stance": "recommend", "quote": "Phil here also runs a public link indexer service", "excerpt": "Ingressing the firehose is by far the easiest part. Here's someone doing it on a $4/mo VPS. Lots of other examples, many on slightly more expensive systems. Phil here also runs a public link indexer service for all Bluesky on a raspberry pi 4 (\"Constellation\")!! https://bsky.app/profile/bad-example.com/post/3mfkrfvy3ok2u https://constellation.microcosm.blue/ There's no other network where anything like this is remote", "context": "", "use_case": "", "switched_from": "", "story": "Blacksky AppView"}, {"id": 746856000, "item_id": 46678500, "url": "https://news.ycombinator.com/item?id=46678500", "by": "extraduder_ire", "date": "2026-01-19", "version": null, "stance": "recommend", "quote": "It can be self hosted and is much lighter than running a full appview.", "excerpt": "There's also software called Constellation[0] from microcosm that exclusively collects \"backlinks\", which are items which link to a certain thing. e.g. follow records for an account, reposts/replies/likes on a post. If you click on the Backlinks tab when examining something on pdsls.dev you can see a list of them. It can be self hosted and is much lighter than running a full appview. The author has a public endpoint ", "context": "", "use_case": "collecting ATProto backlinks", "switched_from": "", "story": "A Social Filesystem"}]}