Something went wrong. Try again.
sync your bluesky follows to semble.so! bsky-follow-semble.vercel.app
follow graph atproto social semble bluesky
Something went wrong. Try again.
TypeScript 90%
CSS 7%
JavaScript 3%
README.md
Semble Follow Sync #
Semble Follow Sync is a Next.js web application designed to synthesise and synchronise your social graph between Bluesky and the Semble knowledge network.
Core Features #
- Secure ATProto OAuth Integration: Authenticate directly and securely with your Bluesky account using standard decentralised identity protocols.
- Social Graph Scanning: Automatically discover which of the accounts you follow on Bluesky are active creators on the Semble network.
- Batch Following: Review discovered Semble creators in a clean checklist and follow multiple selected accounts in a single batch operation.
- Tabular Layout Stability: Designed with monospaced tabular numerals and rigid grid boundaries to ensure layout proportions remain completely stable as scanning numbers increment.
- Tactile Micro-interactions: Built with smooth, responsive button transitions, staggering card reveals, and dynamic auto-scrolling lists for visual feedback.
Technology Stack #
- Framework: Next.js 16 (App Router)
- Styles: Tailwind CSS
- Components: Radix UI / shadcn/ui
- Authentication: ATProto OAuth Client (
@atproto/oauth-client-node) - API Interaction: ATProto API (
@atproto/api)
Getting Started #
Prerequisites #
- Node.js 18 or higher
- A Bluesky account (e.g.
username.bsky.social)
Installation #
-
Clone the repository and install the dependencies:
npm install -
Run the development server locally:
npm run dev -
Open http://127.0.0.1:3000 in your browser.
Deployment #
This application is designed to be easily deployed to Vercel.
Environment Variables #
For production deployments, ensure the following environment variables are configured:
NEXT_PUBLIC_URL: The canonical URL of your deployed application (e.g.https://bsky-follow-semble.vercel.app).OAUTH_PRIVATE_KEY: A secure ES256 private key in JWK format. You can generate a compatible keypair by runningnode scripts/generate-key.jsin your terminal.