A minimal web application that turns Bluesky's image posts into a continuous gallery experience.
BskyTV connects directly to the Bluesky Firehose and displays images from posts in real-time, creating a dynamic, ever-changing gallery of what's being shared on Bluesky right now.
- Direct WebSocket connection to Bluesky Firehose
- Image post filtering
- Full-screen image display
- Basic transitions between images
- Minimal UI with play/pause control
- Display post text and author
- Multiple display modes (single/grid)
- Transition effects selection
- Image preloading for smoother experience
- Display time ago for posts
- Favorite posts saving (localStorage)
- Dark/Light theme switch
- Custom filters (by user, hashtag, etc.)
- Share button for interesting posts
- Stats display (images per minute, etc.)
- PWA support for offline mode
- Multiple data sources (Firehose/API)
- Vite for development and building
- CBOR-X for data decoding
- IPLD CAR for block reading
- Tailwind CSS for styling
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
The application uses a simple event-driven architecture:
- WebSocket connection to Bluesky Firehose
- CBOR decoding of incoming messages
- CAR block processing for image extraction
- DOM manipulation for display
Feel free to submit issues and enhancement requests!
MIT