# Activity Overview ## What We Built ### 1. Basic Posting (01a-hello-world.js) - Connects to Bluesky using app password - Posts a simple message with #ATProtoChicago - Shows the basics of authentication and posting ### 2. Creative Posts (01b-emoji-art.js) - Generates random emoji art grids - Demonstrates creative uses of the posting API - Fun visual output that's shareable ### 3. Rich Text Features (02-rich-text.js) - Auto-detects links and converts them to clickable links - Auto-detects hashtags for discoverability - Shows how Bluesky enhances plain text ### 4. Real-time Firehose (03-feed-generator.js) - Connects to Bluesky's Jetstream service - Filters the entire network for #ATProtoChicago posts - Shows posts in real-time with clean JSON format - Demonstrates how feed generators work ### 5. Timeline Filtering (05-post-filter.js) - Fetches your home timeline - Filters for Chicago/ATProto mentions - Shows engagement metrics - Local processing example ### 6. Profile Updates (04-profile-updater.js) - Programmatically updates your profile - Adds timestamp to description - Shows how to modify account data ## Key Concepts Demonstrated - **Authentication**: Using app passwords safely - **CRUD Operations**: Create posts, read timeline, update profile - **Real-time Data**: Consuming the firehose - **Data Processing**: Filtering and analyzing posts - **Rich Content**: Links, mentions, hashtags - **API Patterns**: Consistent error handling and async/await ## Architecture Notes - All examples use the official `@atproto/api` SDK - Jetstream provides JSON instead of binary CAR/CBOR - Credentials stored in `.env` for security - Bun runtime for fast execution and built-in TypeScript support