A modern iOS client for Bluesky, built with SwiftUI and the AT Protocol.
- 🚀 Fast & Native: Built entirely in SwiftUI for optimal iOS performance
- 📱 Modern Design: Clean interface following iOS design guidelines
- 🔄 Real-time Updates: Live timeline updates and notifications
- 🖼️ Rich Media: Full support for images, videos, and embeds
- 💬 Direct Messaging: Full chat functionality with emoji reactions
- 🎨 Themes: Light, dark, and dim theme options
- ♿ Accessibility: Full Dynamic Type and VoiceOver support
- 🔐 Secure: Biometric authentication and secure credential storage
- iOS 18.0+
- Xcode 16.0+
- Swift 6.0+
- Clone the repository:
git clone https://github.com/joshlacal/Catbird.git
cd Catbird- Open the project in Xcode:
open Catbird.xcodeproj- Build and run the project (⌘R)
Catbird uses modern Swift patterns and SwiftUI best practices:
- State Management:
@Observablemacro for reactive state - Concurrency: Swift 6 structured concurrency with actors
- Networking: Petrel AT Protocol library
- Navigation: Type-safe navigation with SwiftUI's navigation APIs
Catbird/
├── App/ # App entry point and configuration
├── Core/ # Core infrastructure
│ ├── Extensions/ # Swift and SwiftUI extensions
│ ├── Models/ # Data models
│ ├── Navigation/ # Navigation system
│ ├── State/ # State management
│ └── UI/ # Reusable UI components
├── Features/ # Feature modules
│ ├── Auth/ # Authentication
│ ├── Chat/ # Direct messaging
│ ├── Feed/ # Timeline and feeds
│ ├── Profile/ # User profiles
│ └── Settings/ # App settings
└── Resources/ # Assets and resources
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
- Petrel - Swift library for the AT Protocol
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Petrel, a Swift implementation of the AT Protocol
- Thanks to the Bluesky team for creating an open social protocol
- Bluesky: @josh.uno
- GitHub: @joshlacal