--- import { Code } from 'astro:components' import { Image } from 'astro:assets' import Footer from '../components/Footer.astro' import Layout from '../layouts/Layout.astro' import importedCode from '../../public/following_accounts.csv?raw' const csvToArray = (content: string) => { return content .split('\n') .slice(1) .map((str) => str.split(',')[0]) } const accounts = csvToArray(importedCode) let accountObjects = accounts .map((account) => { const bskyHandle = account?.replace('@bsky.brid.gy', '') const url = `https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile/?actor=${bskyHandle}` return account ? { bskyHandle, fediHandle: account, url, } : null }) .filter((acct) => !!acct) const urls = accountObjects.map((account) => account.url) const promises = urls.map((url) => fetch(url)) const responses = await Promise.all(promises) let data = await Promise.all(responses.map((response) => response.json())) // filter accounts with error (e.g., AccountDisabled) accountObjects = accountObjects.filter((acct, index) => { const hasNoError = !data[index].error if (!hasNoError) console.log(`>>> ${acct.bskyHandle} has error: ${data[index].error}`) return hasNoError }) data = data.filter((datum) => !datum.error) const title = 'Tech Bsky ↔ Fedi' const description = 'Celebrating bsky folks who bridged their accounts to the fediverse!' ---

{title}

{description}

A lot of tech accounts are now active in Bsky. Some of them opted to be bridged to the Fediverse via fed.brid.gy -- so we can also follow them from any ActivityPub powered social platforms.

On this page, I upload my handpicked tech Bsky accounts that are currently bridged to the Fedi. Feel free to send me a mail to request adding accounts I missed.

If you are on bsky and want to be bridged too, please follow @ap.brid.gy.

If you are on fedi and want to follow the accounts here, scroll to the bottom of the page for a handy `.csv` file you can upload to your chosen fedi platform.

Note that for the bsky accounts to see your replies and likes from fedi, you have to bridge your account as well by following @bsky.brid.gy@bsky.brid.gy

Accounts ({accountObjects.length})

Ordered in terms of my time of discovery.

{ accountObjects.map((account, index) => ( )) }
  Fedi Bsky
{`${account.bskyHandle}'s {account.fediHandle} {account.bskyHandle}

How how how?

Download the .csv file or copy the content below and save in a file. Then, upload to your fedi account provider.

If you're on Mastodon, this functionality is found in:

PreferencesImport and exportImport

Full .csv content