A SvelteKit application demonstrating OAuth authentication and API integration with Bluesky/AT Protocol.
An educational example showing how to build a full-featured Bluesky client with:
- Server-side OAuth 2.0 authentication with PKCE
- Complete AT Protocol API integration
- Modern UI with video support and post rendering
- TypeScript service architecture
# Install dependencies
npm install
# Start dev server (must be on port 5174)
npm run dev
# Open browser
http://localhost:5174Click "Sign in with Bluesky" and explore the dashboard to see various API demonstrations.
- OAuth Authentication - Secure server-side OAuth flow
- API Demonstrations - Timeline, posts, followers, likes, and more
- Rich Post Display - Videos, images, quotes, and replies
- Debug Interface - Test post rendering with JSON
- Responsive Design - Built with DaisyUI and TailwindCSS
Detailed technical documentation is available in the /docs folder:
- OAuth Implementation - Deep dive into OAuth flow
- Architecture Guide - Service patterns and component structure
- API Integration - Working with Bluesky APIs
- Deployment Guide - Production deployment instructions
- OAuth Explained - Beginner-friendly OAuth guide
src/
├── lib/server/bluesky/ # Backend service layer
├── lib/components/ # Reusable UI components
└── routes/ # SvelteKit routes
├── auth/ # OAuth endpoints
├── dashboard/ # Main application
└── debug/ # Developer tools
The application uses the AT Protocol localhost exception for OAuth, eliminating complex setup during development. Simply run the dev server on port 5174 and you're ready to go.
For production deployment, see the Deployment Guide.
- SvelteKit - Full-stack framework
- AT Protocol - Decentralized social protocol
- DaisyUI - Component library
- TypeScript - Type safety
MIT - Feel free to use this as a reference for your own projects!