Created With

LinkRing is built with a bunch of great open source tools and inspired by some cool projects in the ATProto ecosystem. Here's the full list.

The Stack

  • Bun — JavaScript runtime. Fast, everything is included, and I have never had an issue.
  • Hono — Lightweight web framework. Small, fast, works great with Bun.
  • Open Props — CSS custom properties for consistent design tokens. It's what I start every site with now, makes it really easy to just have easy access to things like HSL colors.
  • PostgreSQL — The database. Was going to use sqlite but wanted to deploy to Fly.io.
  • postgres.js — PostgreSQL client for Node/Bun. Simple, fast, not an ORM.

ATProto

  • ATProto — The protocol that makes all of this possible.
  • @atproto/oauth-client-node — OAuth client for ATProto. Handles all the "DPoP" and "JWT" complexity.
  • @atproto/api — API client for reading and writing atmosphere account data.
  • Jetstream — Simplified firehose for ATProto events. Powers the Explore page (because it queries the same network!)

Brand & Assets

  • Atmosphere Account — community resource for explaining the atmosphere. The "sign in with atmosphere account" badge on the login page comes straight from their developer resources.
  • atmologos by cozylittle.house — a CC-BY collection of SVG logomarks for atmosphere apps. Every logo on the "what's the atmosphere?" panel is from here.

Inspiration

These projects showed what's possible with atmosphere accounts and helped shape how LinkRing works:

  • Linkat — The first (?) link-in-bio on an atmosphere account. Proved the concept works.
  • Leaflet — Long-form publishing on your atmosphere account. Beautiful execution of storing content on your account. Even if it's funky blocks format. Their login flow is the reference for ours.
  • Frontpage — Link aggregator, like if Hacker News ran on atmosphere accounts. Cool use of custom data formats.
  • Smoke Signal — Events and RSVPs tied to your atmosphere account. Another great example of non-social-media uses for the network.

Learning Resources

If you want to build your own ATProto app, these helped me:

Thanks to everyone who built these tools. Standing on the shoulders of giants, etc.