Finding people and content in the Fediverse feels a bit like searching for a specific grain of sand on a beach, doesn’t it? The promise of decentralization comes with a peculiar challenge: discovery. When you’re not dealing with a single platform’s algorithm pushing content at you, how do you actually find anything worth following?
This article unpacks the technical architecture behind Fediverse directories, explores implementation models that balance privacy with discoverability, and examines where this whole decentralized social experiment might be heading. You’ll walk away understanding not just how the Fediverse works under the hood, but why directory services might be the missing piece that turns this federation of servers into something truly usable.
The Fediverse isn’t just Mastodon, by the way. It’s an interconnected universe of platforms—Pixelfed for photos, PeerTube for videos, Lemmy for forums—all speaking the same language. But here’s the catch: without centralized search or recommendation engines, you’re essentially wandering through a massive library with no card catalogue. That’s where directory services come in, attempting to solve a problem that’s both technical and philosophical.
Fediverse Architecture and Protocol Standards
Before we study into directories, let’s talk about the plumbing. The Fediverse runs on open protocols that let different servers chat with each other, creating a network that no single entity controls. Think of it like email—you can send messages between Gmail and Outlook because they both follow the same rules. The Fediverse does this for social media.
ActivityPub Protocol Foundation
ActivityPub is the workhorse protocol that makes the Fediverse tick. Developed by the W3C (the folks who standardize web technologies), it defines how servers exchange social activities—posts, likes, follows, you name it. When you follow someone on Mastodon who’s actually on a different server, ActivityPub handles that handshake behind the scenes.
Here’s how it works: every user and post gets a unique identifier (a URI, technically). When you publish a post, your server wraps it in an ActivityPub “activity” object and delivers it to the inboxes of your followers’ servers. Those servers then distribute it to their users. It’s like a postal system where each server is both a post office and a delivery service.
Did you know? ActivityPub activities use JSON-LD format, which means they’re both human-readable and machine-parseable. A simple “Like” activity contains not just who liked what, but also context that helps servers understand the relationship between objects across the network.
The protocol distinguishes between client-to-server interactions (how your app talks to your home server) and server-to-server federation (how servers gossip with each other). This dual nature creates interesting challenges for directory services. Do you index at the client level, the server level, or somewhere in between?
My experience with implementing ActivityPub taught me that the spec is both flexible and frustratingly vague in places. Different platforms interpret certain aspects differently, which means a directory service needs to be somewhat forgiving in how it parses and indexes content. You can’t just assume every server implements ActivityPub identically.
Instance Federation Mechanics
Federation sounds fancy, but it’s really just servers agreeing to share data with each other. When you spin up a new Mastodon instance, it doesn’t automatically know about every other server in the Fediverse. Instead, it discovers them organically through user interactions and explicit connections.
Here’s where it gets interesting for directories: instances can choose who they federate with. Some instances block others entirely (defederation), some limit certain types of content, and some are wide open. This creates a fragmented network where your view of the Fediverse depends entirely on which instance you call home. Research from Carnegie Endowment explores how defederation affects trust and safety in decentralized networks, revealing that moderation decisions at the instance level at its core shape user experience.
For directory builders, this fragmentation is a headache. You can’t create a “complete” directory of the Fediverse because there’s no such thing as a complete Fediverse. Each instance sees a different slice of the network based on its federation policies. It’s like trying to map a coastline that changes shape depending on where you’re standing.
| Federation Model | Visibility | Directory Implications |
|---|---|---|
| Open Federation | Connects with any willing instance | Broadest discovery potential, highest noise |
| Allowlist Federation | Only connects with approved instances | Limited but curated discovery scope |
| Blocklist Federation | Connects with all except blocked instances | Moderate discovery with safety filters |
| Isolated Instance | No external federation | Internal directory only, no cross-instance discovery |
Instance administrators wield enormous power over discoverability. They can silence entire instances, making their content invisible to local users. They can limit instances, hiding their content from public timelines but still allowing direct interactions. These moderation tools, while key for safety, create blind spots that directories struggle to navigate.
WebFinger Discovery Implementation
You know how you can type an email address and just send a message without knowing which mail server handles it? WebFinger brings that magic to the Fediverse. It’s a protocol for discovering information about people and resources using just their handle (like @user@instance.social).
When you search for someone on Mastodon, your server performs a WebFinger lookup. It sends a request to the domain in their handle, asking “Hey, what can you tell me about this user?” The remote server responds with a JSON document containing profile information, including the actual ActivityPub actor URL and various metadata.
For directories, WebFinger is both a blessing and a limitation. It’s great for looking up specific users when you already know their handle. But it’s terrible for general discovery—you can’t browse WebFinger endpoints to find interesting accounts. It’s like having a phone book that only works if you already know the exact name you’re searching for.
Quick Tip: If you’re building a Fediverse app or directory, implement WebFinger caching aggressively. Lookups can be slow, and you don’t want to hammer remote servers with repeated requests for the same user. Cache the results for at least 24 hours, but include a mechanism to refresh when users explicitly request updated information.
The WebFinger spec is intentionally minimal, which means implementations vary wildly. Some servers return rich metadata; others give you bare-bones information. Some respect caching headers properly; others don’t. This inconsistency makes building reliable directory services harder than it should be.
Data Portability Standards
One of the Fediverse’s selling points is data portability—the idea that you can move your account between instances without losing your followers or post history. In practice, it’s more complicated than that marketing pitch suggests.
ActivityPub includes mechanisms for account migration. When you move instances, your old server broadcasts a “Move” activity to your followers, telling their servers to update their records. In theory, everyone seamlessly follows your new account. In practice, some servers handle migrations better than others, and you often lose some followers in the transition.
For directories, account migration creates indexing nightmares. Do you maintain separate entries for old and new accounts? Do you redirect searches to the new location? What happens if someone moves back to their original instance? And how do you prevent abuse, where bad actors might claim they’re the “new” version of a popular account?
The current standard for data export involves downloading a ZIP file of your posts in ActivityPub JSON format. It’s better than nothing, but it’s not exactly effortless. You can’t easily import your post history to a new instance—most servers only support importing your following list and blocklists. Your post archive becomes essentially read-only, a snapshot of your past rather than a living history you can bring with you.
Directory Service Implementation Models
Right, so we’ve covered the protocols. Now let’s talk about how you actually build a directory on top of this decentralized mess. There’s no one “correct” way to do it, which is both liberating and frustrating. Different approaches prioritize different values—privacy vs. discoverability, completeness vs. relevance, centralization vs. distribution.
Centralized vs Distributed Architectures
The irony of building a centralized directory for a decentralized network isn’t lost on anyone. Yet centralized directories offer undeniable advantages: they’re fast, comprehensive, and easy to use. You hit one search endpoint and get results from across the entire network. Simple.
A centralized Fediverse directory typically works by crawling the network, following links between instances and indexing public profiles and posts. It’s not unlike how search engines crawl the web. The directory maintains its own database, updating it periodically as it discovers new content and accounts.
The problem? It recreates many of the issues people fled to the Fediverse to escape. A centralized directory becomes a chokepoint, a single entity with enormous power over discoverability. If it goes down, discovery breaks. If it makes editorial decisions about what to index (or not index), it shapes the network’s culture. If it gets acquired by a company with different priorities, well, you can see where this goes.
What if a centralized directory became the de facto standard for Fediverse discovery? We’d essentially recreate the Twitter experience—convenient, powerful, and at last controlled by whoever runs the directory. The decentralized architecture would remain, but the practical user experience would revolve around a centralized service. Is that a compromise worth making?
Distributed directories flip the model. Instead of one central index, each instance maintains its own directory of the accounts and content it knows about. When you search, your query might check multiple instances, aggregating results from across the network. It’s slower and less complete, but it preserves the decentralized ethos.
The challenge with distributed directories is coordination. How do instances share directory information without overwhelming each other with requests? How do you rank results when they come from multiple sources with different relevance algorithms? And how do you prevent spam and abuse when there’s no central authority to enforce standards?
Honestly, we’re still figuring this out. Tim Chambers notes that user discovery in the Fediverse is “so decentralized, it’s basically unusable” without global directories or recommendation systems. That’s harsh but not entirely wrong. The tension between decentralization and usability remains unresolved.
Opt-in Discovery Mechanisms
Privacy-conscious Fediverse users don’t want to be indexed without permission. This creates an interesting design constraint: how do you build a useful directory while respecting user autonomy? The answer, increasingly, is opt-in discovery.
Mastodon, for instance, includes a profile setting to “select in to appear in search results.” When enabled, your public posts become searchable; when disabled, they’re only discoverable through boosts and direct links. It’s a reasonable compromise, though it means directory completeness depends on user participation.
Opt-in mechanisms can take several forms. The simplest is a profile flag that users toggle. More sophisticated approaches might use hashtags (like #discoverable) to signal searchability, or special ActivityPub properties that machines can read but users don’t need to understand. Some directories use explicit registration—you submit your profile to be included, similar to how traditional web directories like Jasmine Business Directory work.
The participation problem is real, though. If only 10% of users go for in, your directory represents a small, potentially biased slice of the network. Power users and content creators might select in readily, while casual users remain invisible. This skews discovery toward certain types of accounts and certain types of content.
Myth: Opt-in directories are always more private than centralized crawlers.
Reality: Opting in to a directory often means providing more information than a crawler would collect. Registration forms might ask for interests, languages, topics, and other metadata that wouldn’t be immediately obvious from your public profile. You’re trading discoverability for data disclosure, which isn’t necessarily more private—just more consensual.
The cultural aspect matters too. Fediverse communities have different norms around discoverability. Some instances encourage members to make themselves findable; others prize privacy and obscurity. A directory that works well for one community might feel invasive to another. There’s no universal solution because there’s no universal set of values.
Relay-Based Directory Systems
Relays are an underappreciated piece of Fediverse infrastructure. They’re servers that aggregate and redistribute public posts from multiple instances, helping smaller instances see a broader slice of the network without directly federating with hundreds of other servers. For directory purposes, relays offer interesting possibilities.
A relay-based directory works by monitoring relay traffic. Since relays see posts from many instances, they’re natural aggregation points for indexing. You subscribe to a few major relays, index the content that flows through them, and suddenly you’ve got a reasonably comprehensive directory without needing to crawl thousands of individual instances.
The relay model has several advantages. It’s more efficient than direct crawling—you monitor a few data streams instead of polling thousands of servers. It’s somewhat distributed—multiple relays can operate independently, and directories can choose which ones to trust. And it respects instance autonomy—servers that don’t want to be indexed simply don’t connect to public relays.
But relays introduce their own challenges. They’re bandwidth-intensive, processing and redistributing massive amounts of data. They can become bottlenecks if they’re poorly maintained. And they create dependency—if your directory relies on specific relays, you’re vulnerable to those relays going offline or changing policies.
My experience with relay-based discovery suggests it’s most effective as a complement to other methods rather than a standalone solution. Use relays to discover new instances and accounts, but maintain direct connections for detailed indexing and updates. Think of relays as your scout network, not your primary data source.
Success Story: FediSearch, an experimental directory project, combined relay monitoring with opt-in registration. Users who wanted enhanced discoverability could register their profiles, providing rich metadata and preferences. Meanwhile, the relay feed ensured the directory still captured organic content from across the network. The hybrid approach achieved both breadth (through relay coverage) and depth (through voluntary registration), though it required maintaining two separate indexing pipelines.
Privacy, Consent, and Ethical Discovery
Let’s talk about the elephant in the federated room: just because something is public doesn’t mean people want it indexed, searchable, and aggregated. The Fediverse attracts users who value privacy and control over their data. Building directories that respect those values while remaining useful is a genuine challenge.
The Public-But-Not-Searchable Paradox
Many Fediverse users post publicly but expect practical obscurity. They want their followers to see their posts, maybe a few strangers who stumble across them, but not the entire internet indexed by search engines and directories. It’s a reasonable expectation that’s increasingly difficult to maintain.
Traditional web search engines respect robots.txt files, which tell crawlers what they can and cannot index. The Fediverse has similar mechanisms—Mastodon can set headers requesting that posts not be indexed—but not all crawlers respect them. And ActivityPub’s federated nature means your posts are copied to dozens or hundreds of servers, each with its own policies about search and discovery.
This creates a consent problem. When you post publicly on Mastodon, you’re technically consenting to federation—your post will be copied to other servers. But are you consenting to being indexed in a searchable directory? What about being included in recommendation algorithms? Where do we draw the line?
Some argue that public means public, full stop. If you don’t want something indexed, don’t post it publicly. Others contend that social context matters—posting to your followers is different from posting to a global search index, even if the technical visibility is identical. Both positions have merit, which makes this a social problem as much as a technical one.
Implementing Detailed Privacy Controls
The solution, such as it is, involves giving users specific control over how their content is discovered. Instead of a binary public/private switch, offer multiple levels of discoverability. Mastodon’s approach—allowing users to select out of search indexing while remaining publicly visible—is a start, but we can do better.
Imagine a discovery preferences panel where users could specify:
- Whether their profile appears in directory listings
- Whether their posts are searchable by keywords
- Whether they’re included in recommendation algorithms
- Whether their account shows up in “similar accounts” suggestions
- Which instances or directories are allowed to index their content
Implementing these controls requires cooperation across the ecosystem. Directories need to respect preference signals, instances need to communicate those preferences via ActivityPub extensions, and users need interfaces to manage their settings without requiring a computer science degree.
Key Insight: Privacy in federated systems isn’t just about technical controls—it’s about cultural norms. The most sophisticated privacy settings mean nothing if directories ignore them or users don’t understand them. Building ethical discovery tools requires educating users, establishing community standards, and creating social pressure for directories to respect user preferences.
The ActivityPub specification could be extended to include discovery preferences as first-class properties. Instead of relying on profile flags or separate registration systems, accounts could broadcast their discovery preferences as part of their actor object. Any compliant directory would read and respect these preferences automatically. It’s not a perfect solution—malicious actors could always ignore the signals—but it would establish a baseline standard.
Balancing Findability and Privacy
Here’s the uncomfortable truth: perfect privacy and perfect discoverability are mutually exclusive. The more you make better for one, the more you sacrifice the other. The goal isn’t to grow either extreme but to find a balance that serves users’ actual needs.
Most people want to be discoverable by some people in some contexts. A photographer wants art directors to find their portfolio. An activist wants supporters to find their content. A hobbyist wants fellow enthusiasts to discover their posts. But that same photographer might not want their personal political opinions searchable. The activist might not want their location easily discoverable. The hobbyist might not want their account recommended to their boss.
Context-aware discovery systems could help here. Instead of a single global directory, imagine multiple specialized directories—one for professional networking, another for creative work, another for activism, and so on. Users could go for in to specific directories based on what aspects of their online presence they want discoverable. It’s more complex to build and maintain, but it better matches how people actually think about privacy and visibility.
The technical implementation gets tricky. How do you prevent directory fragmentation from making discovery too difficult? How do you categorize accounts when interests overlap? And how do you handle bad actors who might exploit specialized directories for harassment or spam? These aren’t insurmountable problems, but they require careful design and ongoing moderation.
Technical Challenges and Solutions
Building a Fediverse directory isn’t just about indexing profiles and making them searchable. The decentralized architecture introduces technical challenges that don’t exist in centralized platforms. Let’s dig into the gnarly bits.
Handling Instance Diversity and Incompatibility
Not all Fediverse instances run the same software. Mastodon dominates, but there’s also Pleroma, Misskey, GoToSocial, and dozens of other implementations. Each interprets ActivityPub slightly differently, includes different metadata, and exposes different APIs.
A stable directory needs to handle this heterogeneity gracefully. You can’t assume every instance will provide the same profile fields or respond to the same queries. Your indexing code needs to be flexible, extracting whatever information is available and filling in gaps with reasonable defaults.
The data quality problem compounds this. Some instances provide rich profile metadata—bio, avatar, header image, custom fields, verification links. Others give you a username and little else. Some update profiles in real-time; others cache aggressively, meaning your index might be showing stale information. How do you present this inconsistent data in a way that’s useful to searchers?
Quick Tip: Implement schema normalization in your directory backend. Define a canonical profile structure with required and optional fields, then write adapters for each major Fediverse platform that map their specific schemas to your canonical format. This lets your frontend code work with consistent data structures while your backend handles the messy reality of platform diversity.
Version compatibility is another headache. Fediverse software evolves constantly, with new releases changing how ActivityPub is implemented or what data is exposed. Your directory needs to handle multiple versions of multiple platforms simultaneously, which means extensive testing and graceful degradation when encountering unexpected responses.
Scaling Search and Indexing
The Fediverse is big and getting bigger. Mastodon alone has millions of accounts across thousands of instances. A comprehensive directory might need to index tens of millions of profiles and billions of posts. How do you make that searchable without requiring a data centre?
Traditional search engines solve this with sophisticated indexing—they don’t search the raw data every time, they search pre-built indexes optimized for fast queries. Fediverse directories need similar approaches. Tools like Elasticsearch or MeiliSearch can handle full-text search across massive datasets, but they require careful tuning for the specific characteristics of Fediverse data.
The real challenge is keeping indexes current. In centralized platforms, you control the database and can update indexes in real-time. In the Fediverse, data lives on thousands of independent servers, each updating at its own pace. Your directory needs a strategy for incremental updates—monitoring for changes, fetching updated data, and re-indexing efficiently without rebuilding the entire index every time.
Caching becomes serious at scale. You can’t fetch fresh data from thousands of instances for every search query. Instead, you cache profile information and update it periodically or when users explicitly request a refresh. The trick is balancing freshness (users want current information) with effectiveness (you can’t hammer remote servers with constant requests).
| Scale Factor | Challenge | Typical Solution |
|---|---|---|
| Millions of profiles | Search performance | Inverted indexes, sharding |
| Thousands of instances | Update coordination | Priority queues, rate limiting |
| Real-time changes | Index freshness | Incremental updates, cache invalidation |
| Unreliable servers | Data availability | Retry logic, stale data tolerance |
Dealing with Spam and Abuse
Wherever there’s discovery, there’s spam. Bad actors will create fake accounts, pump them full of keywords, and try to game your directory’s ranking algorithms. Without effective anti-spam measures, your directory becomes useless noise.
Centralized platforms have sophisticated spam detection—machine learning models trained on millions of examples, teams of moderators reviewing edge cases, and the ability to quickly ban accounts across the entire platform. Fediverse directories don’t have those luxuries. You can’t ban an account that lives on someone else’s server. You can only choose not to index it.
Instance reputation becomes important. If a particular instance consistently produces spam accounts, you might deprioritize or exclude it entirely from your directory. But this requires tracking instance behaviour over time and making subjective judgments about what constitutes spam versus legitimate but enthusiastic self-promotion.
Content-based spam detection helps. Look for patterns like keyword stuffing, excessive links, or profiles that match known spam templates. But Fediverse spam is often more sophisticated than traditional web spam—it mimics legitimate accounts, posts semi-coherent content, and exploits the network’s open nature to spread before being detected.
Did you know? Some Fediverse spam operations create entire fake instances populated with bot accounts that follow and boost each other, creating the appearance of legitimate activity. Detecting these networks requires graph analysis—looking at follow patterns, interaction rates, and cross-instance relationships rather than just examining individual accounts in isolation.
User Experience and Interface Design
Technical excellence means nothing if users can’t figure out how to actually use your directory. The Fediverse’s complexity makes intuitive interface design especially vital. You’re not just building a search box—you’re creating a bridge between decentralized chaos and human comprehension.
Simplifying the Search Experience
Search in the Fediverse is weird. You’re not searching one database; you’re potentially querying across thousands of independent servers with different data, different update frequencies, and different privacy policies. How do you present this complexity without overwhelming users?
The answer is progressive disclosure. Start simple—a single search box that does something reasonable by default. As users get more sophisticated, reveal advanced options: filter by instance, limit to certain content types, adjust relevance ranking, or search only opt-in accounts. Most users never need these controls, but power users appreciate having them.
Search result presentation matters enormously. Unlike centralized platforms where every profile looks identical, Fediverse profiles vary wildly in completeness and formatting. Your interface needs to handle missing avatars, empty bios, and inconsistent metadata gracefully. Show what you have, indicate what’s missing, and don’t let data gaps break your layout.
According to discussions in r/fediverse, the discovery gap remains one of the platform’s biggest usability problems. Users want something that “just works” like centralized platforms, but they also value the privacy and autonomy that makes simple solutions difficult. Threading that needle requires careful UX design.
Helping Users Understand Federation
Most people don’t understand federation. They don’t know what an instance is, why handles have two @ symbols, or why they can’t always see replies to posts. Your directory interface needs to educate without patronizing, explaining concepts just-in-time when they become relevant.
Consider the follow button. On centralized platforms, clicking “follow” is instantaneous. In the Fediverse, it might redirect you to your home instance, ask you to log in, and then complete the follow. That’s confusing! Your directory should explain this flow upfront—maybe with a tooltip or a brief animation showing what will happen—so users aren’t surprised.
Visual cues help. Use icons to indicate which platform an account is on (Mastodon, Pixelfed, etc.). Show instance domains prominently so users understand they’re looking at accounts from different servers. Highlight when accounts are on the same instance as the searcher, since local follows are simpler and faster.
Key Insight: The best Fediverse directories don’t try to hide the complexity—they embrace it while making it comprehensible. Show users the federated nature of what they’re seeing, but frame it as a feature (diversity, independence, choice) rather than a bug (fragmentation, confusion, inconsistency).
Mobile-First Directory Design
Most social media usage happens on mobile devices, but many Fediverse directories are clearly desktop-first designs that barely work on phones. This is backwards. Your directory needs to be fast, touch-friendly, and functional on small screens from day one.
Mobile design constraints actually help here. The limited screen space forces you to prioritize information ruthlessly. You can’t show every piece of profile metadata, so you show what matters most: avatar, username, bio, and maybe one or two custom fields. The result is cleaner and more focused than desktop interfaces that try to cram everything into view simultaneously.
Performance matters more on mobile. Users on cellular connections don’t want to wait five seconds for search results. Perfect aggressively: compress images, lazy-load content, implement infinite scroll intelligently, and cache aggressively. Every millisecond counts.
Touch targets need to be large enough for thumbs. Links and buttons should be at least 44×44 pixels (Apple’s recommendation) or 48×48 pixels (Google’s). Space them adequately so users don’t accidentally tap the wrong thing. This seems obvious, but you’d be surprised how many directories have tiny, closely-packed interactive elements that are impossible to tap accurately.
Future Directions
The Fediverse is still young. The protocols are maturing, the user base is growing, and the tooling is improving. Where does directory discovery go from here? Let’s do some informed speculation.
First, expect protocol-level improvements. ActivityPub will likely gain standardized extensions for discovery preferences, making it easier for directories to respect user privacy choices automatically. WebFinger might get complemented or replaced by more powerful discovery mechanisms that support browsing and filtering, not just lookup.
Second, we’ll probably see more specialized directories. Instead of trying to index the entire Fediverse, directories will focus on specific niches—professional networking, creative portfolios, regional communities, topic-specific content. These specialized directories can offer better relevance and more appropriate privacy models for their specific use cases.
Third, AI and machine learning will play bigger roles. Not the dystopian algorithmic timeline manipulation of centralized platforms, but useful features like semantic search (understanding what you mean, not just matching keywords), better spam detection, and personalized recommendations that respect privacy. The challenge will be implementing these features without recreating the problems people fled centralized platforms to escape.
What if instances started maintaining their own local directories as a core feature, then federated directory information the same way they federate posts? You’d get distributed discovery without centralized chokepoints. Each instance would see a view of the network shaped by its federation policies, but users could still search across the broader Fediverse through their home instance. It’s technically feasible and philosophically aligned with decentralization, though it would require marked coordination across different platform implementations.
The biggest question is governance. Who decides what gets indexed? How are disputes resolved? What happens when directories make decisions that users or instances disagree with? Centralized directories will face these questions directly. Distributed systems might avoid them through decentralization, but at the cost of consistency and comprehensiveness.
I suspect we’ll end up with a hybrid ecosystem. Some large, well-maintained centralized directories (think of them as the Google of the Fediverse) that most people use by default. Some specialized directories serving specific communities or use cases. And some experimental distributed systems that prioritize decentralization over convenience. Users will choose based on their priorities—convenience, privacy, community agreement, or feature sets.
The path forward isn’t clear, but that’s actually exciting. We’re collectively figuring out how discovery works in a decentralized social web. There’s room for experimentation, innovation, and multiple competing approaches. Unlike centralized platforms where one company makes all the decisions, the Fediverse allows for genuine diversity in how discovery is implemented and experienced.
As Gabe Kangas notes, every new Fediverse node grows an interconnected social network, creating opportunities for discovery mechanisms that scale with the network itself rather than requiring centralized infrastructure. That’s the promise, anyway. Whether we can deliver on it remains to be seen.
The Fediverse represents a fundamental shift in how we think about social media—from centralized platforms that own your data and control your experience to federated networks where you choose your instance, control your data, and shape your own social graph. Directories are the bridge that makes this decentralized vision practically usable. Get them right, and the Fediverse becomes genuinely competitive with centralized alternatives. Get them wrong, and decentralization remains a niche interest for technically-minded users willing to tolerate friction in exchange for principles.
We’re still in the early days. The protocols are stabilizing, the user base is growing, and the tooling is improving. Now’s the time to experiment with directory models, try new approaches, and figure out what actually works. The next few years will determine whether decentralized discovery becomes uninterrupted and intuitive or remains a persistent concern that limits mainstream adoption.
The stakes are higher than they might seem. Discovery shapes culture. The accounts you can find influence who you follow, which shapes what you see, which shapes what you think is normal or important or worth discussing. In centralized platforms, recommendation algorithms make these decisions. In the Fediverse, directory design makes them. That’s a responsibility worth taking seriously.

