Watch the World Cup for free (and build your own social network)
Hello! My name’s Justin Pot. I’m a journalist that wants to help you get more out of technology.
This week I’m going to tell you how I built my own social network and how you could do it too. Then I’m going to tell you how to watch the World Cup without cable. Let’s dive in.
I turned my website into a personal social network that connects to Bluesky and the Fediverse—here’s how.
I’m tired of posting on so many different social networks, so I built my own. All it took was a WordPress website, two plugins, and a lot of fiddling.
But what does this mean? To get an idea you can browse JustinPot.com. The main feed is now a combination of my longform articles and shorter social-media style posts.
You can follow my website on Bluesky or from any Fediverse server. My short posts will show up in your timeline, as is; my longform posts show up as a short excerpt followed by a link. But this isn’t just syndication—it’s a two way connection. If someone replies to a post from either protocol it shows up as a comment on my website. If I reply, my reply shows up in both places.
Basically, I’ve turned my personal website into a way to communicate with people regardless of which social media platform they want to use. I’m happy with it. People have asked how I did this, so I thought I’d briefly talk about how this works behind the scenes. It’s actually not that complicated to do, at least to start.

My website is built on WordPress—has been since 2010 or so. I used two plugins to connect this existing site to the social web. The first is ActivityPub, which turned my WordPress website into a Fediverse-compatible server. The second is ATmosphere, which connects my website directly to a Bluesky account.
I installed both of these plugins and tweaked them to work the way I wanted, mostly by poking around in the settings. Neither is particularly hard to use, but there is a subtle difference between them.
The ActivityPub plugin turns your website into a Fediverse instance, meaning your website itself is the social network. You can’t connect the site to an existing account on a Mastodon server—your site becomes the server. (You can migrate your followers but that’s a can of worms I haven’t opened yet—for now I simply boost posts from my existing Mastodon account).
The ATmosphere plugin, meanwhile, connects to a Bluesky account. It guides you through changing your handle to your domain name, but you keep your existing Bluesky account. Posts you make on WordPress are pushed to Bluesky, but posts you make on Bluesky aren’t pushed to WordPress.
That difference aside, the two plugins work in a similar way. Any comments made in response to a post will show up in the WordPress comments backend, allowing you to moderate them the same way you would comments published on the site directly. Likes and reposts from both social networks also show up as comments.
There are a few hangups. Bluesky users cannot see Fediverse posts from Bluesky itself, or vice-versa. It’s not possible to reply to a conversation in one protocol from the other. And I’m still trying to figure out why some comments syndicate properly while others don’t. It’s a lot of trial and error, which is to say it’s a WordPress setup. I’m comfortable with that jankiness, but I understand that not everyone would be.
I brought everything together with a custom WordPress theme that does a few things. First, it compiles the like and repost count from the WordPress comments backend and displays them as a number. Second, it makes it easy for both Bluesky and Fediverse accounts to share the article directly from their preferred protocol. Finally, it makes it clear which comments are coming from which protocol.
What about other social networks? I’ve connected a few, sort of. I used Zapier (an old employer of mine) to automatically push posts to LinkedIn and Facebook. Status-style posts are pushed as is; longform posts push a few paragraphs followed by a link. The closed nature of these networks means things like comments, likes, and shares don’t show up on my website, and neither of these networks is a priority of mine. Still, I figure if I can reach a few more people with my writing it might be worth setting up. I could expand this to connect to more networks in the future—it’s all pretty flexible.
My ultimate goal is to build connections on platforms I control. My newsletter is one such platform—it’s a list of email addresses. But the open nature of both the Fediverse and ATProtocol means any followers I build on those platforms are also something I own. No large company owns those relationships, which is a win. And now I can connect to both networks from a website, which I control completely.
It’s been a fun little project—one I hope will help me connect with more people. If you also want to take more ownership of your internet presence, consider setting up something like this.
Which World Cup games are on free broadcast television? Here’s a tool to find out.
I’m excited to watch the World Cup, but I don’t have cable. I do, however, have a TV antenna. Remember those?
In the USA many games are on FOX, a broadcast station, while some are only available on the cable channel FS1. But there’s a twist: some of the FS1 games are available for free in Spanish, on Telemundo. Meanwhile, in Canada, some games are available without cable on CTV or CTV2. And what if you live near the border in either country? You could pick up the signal from across the border.

It’s all a bit confusing, so here’s a free tool you can use right now to figure things out: justinpot.com/worldcup. With this you can see which games are available on broadcast, or free streaming, in the USA and Canada. I hope it’s useful to someone (if so, let me know!) If not, no worries: I mostly made it for myself.
Note that for now I’ve only included the group stage—I’ll try to update it as the matchups are available.
🔗 https://justinpot.com/world-cup-without-cable/
Stuff I wrote
Ads for Wisprflow are unavoidable online, but are there free tools that do the same thing? I looked into it for WIRED: https://www.wired.com/story/do-you-actually-need-to-pay-for-transcription-software/
I hate the interface on my Google TV, so I found a replacement. I wrote about it for WIRED: https://www.wired.com/story/at4k-app-makes-google-tv-actually-usable/
Fans don’t actually cool rooms—just the people in them. I wrote about this and a few other home energy facts for PopSci: https://www.popsci.com/diy/home-energy-conservation-myths/
And, if you missed it, last week I wrote about using AI without stagnating: https://justinpot.com/how-to-use-ai-without-stagnating/
That’s all for this week! I’m hoping to get back to a weekly cadence, so please yell at me if I don’t deliver. I could use the motivation.