@mackuba @mastodonmigration
For what it's worth, I looked at the tangled code, and it does *not* significantly use the bluesky appview as far as I can tell. Neat.
On the other hand, I'm not aware of any significant interaction it has with bluesky and other atproto apps - eg. to the best of my knowledge you can use your bluesky *account* and *repo/PDS* but tangled is completely unaware of any reposts, comments, etc. happening on Bluesky. Would you need an appview to do that? I think so, but I'm not confident.
And this actually points out a really interesting case where the current atproto puts a lot of weight on the relay/jetstream, but *could* with relatively small changes, remove some of that dependency.
One reason for tangled to use jetstream is that it lets you filter by DID and NSID/lexicon. That means that tangled can consume only a small amount of data, getting just the users and record types it cares about. Unless I'm missing something, you can't do either of these things directly at the PDS: you can sync individual repos, but this doesn't get you real-time updates (and it gets you records you don't care about, but that's probably OK). If you want real time updates, you have to drink the PDS's entire firehose, all users and NSIDs. So, there is this thing going on where there is indeed a nice API that small apps can use, but they kind of *have* to use it, and centralized services, even - no, especially - if they want a fairly small amount of data on a small number of users.
But: adding these to the PDS would probably be quite straightforward, if atproto wanted to make it easier to avoid centralized services.