why is likes.fyi like this
Today I want to talk about the origins of the project and a bit about how it operates. If you want the tl;dr check out introducing likes.fyi. This post is going to go into some detail.
likes.fyi: Origins
I'm a person who enjoys a good piece of media and loves to share with others. For the past several years I've been building up a backlog of music videos, animation, games, websites, and more that I want to share with the world.
I've never found a great way to convert those lists into something that's easy to look at on the web. For a while I tried using Tumblr and it worked pretty well but I wanted something where I had more control. I built prototypes with Hugo and Zola backed by json, markdown, and yaml files. I didn't like how tedious it was to share a new bookmark. At best you had to run a tool and work through a wizard. At worst you had to write a config file.
atproto solves this by giving every user an internet-facing database that they can use to store whatever they want. That means it's always* available for both reads and write over the web. There's no need to store any state locally, it can all live in the user's PDS.
atproto has a lot of interesting ideas but I think this is the big one for me. Of course, this is not the only solution to the problem. There are plenty of good databases available over HTTP. But atproto brings along some benefits that I really like. So let's talk about
Why The AT Protocol?*
There are three things about atproto that I'm interested in for this project:
I think these enable a lot of really interesting possibilities for link sharing and discovery. I'm excited to explore atproto and see what new ideas come up as I dig in.
Project Goals
My first goal is to learn more about atproto and explore what's possible when you're building on top of it. That's the main reason I'm doing any of this, but it would be cool to make something useful too.
To that end, my second goal is to create a tool that anyone can use to share the stuff they like with the world. I'll be satisfied if that's as far as I get, but there's plenty more to be done after that.
And my final, constant goal is to make likes.fyi delightful. If it was fun to make it should be fun to use.
When making decisions in this project, I try to keep the following in mind:
I'm sure I'll end up talking about these principles in detail later as they come up.
Future Plans
ATmosphere Ecosystem Interop
There are already several bookmarking tools on the ATmosphere including kipclip and monomarks. likes.fyi can take advantage of this data to (e.g.) streamline the process of sharing your existing bookmarks. It may also enable other features as yet uncontemplated!
Social Features
There are a lot of interesting possibilities when you've got access to a built-in social graph. You could see what links are popular among your mutuals, or find new people to follow based on similarities in what links you share. You could visualize the spread of a single link through the network as it is shared and reshared and crosses from one community to another. There are tons of possibilities to be explored.
Generic Backends
I'm building the initial version on atproto because I want to explore what you can do with a huge social graph and open data. There's no technical reason why it has to be stored on atproto, so in the future I'd like to support other backends.
Your Idea Here...?
If you're excited about what you could do with a graph of social sharing I'd love to talk about how likes.fyi can help realize your vision. Find me on bsky at @bleything.net.
What's Next?
I'm currently in the process of building a proof of concept demo that covers the core features of saving a bookmark and publishing it on a website. There should be a dev diary all about that coming soon™. Stay tuned here or on bsky at @likes.fyi.
Discussion in the ATmosphere