YABA - Yet Another Bookmark App
May 10, 2026 ยท View on GitHub

YABA - Yet Another Bookmark App
A modern, cross-platform bookmark manager designed to provide a seamless bookmarking experience across ecosystems with complete privacy and offline-first approach.
๐ก Planning
For the latest planning and roadmap, please visit the Public Trello board.
๐๏ธ Project Structure
YABA/
โโโ Darwin/ # Apple Platform Implementation
โ โโโ YABA/ # Main iOS/macOS/visionOS App
โ โโโ YABAShare/ # iOS Share Extension
โ โโโ YABAShareMac/ # macOS Share Extension
โ โโโ YABAKeyboard/ # iOS Keyboard Extension
โ โโโ YABAWidgets/ # iOS/macOS Widget Extension
โ โโโ YABAStatusMenuItem/ # macOS Status Menu Item
โโโ Compose/ # Android/JVM Platform Implementation
โโโ (Future Compose Multiplatform code)
๐ฏ Project Vision
YABA aims to be the ultimate cross-platform bookmark manager with:
- Native Performance: Platform-specific implementations for optimal user experience
- Server-less Sync: Peer-to-peer data synchronization across devices without servers
- Modern Architecture: Built with the latest platform technologies
- Extensible Design: Modular architecture supporting future platforms
- Privacy First: All data stays on your devices, no tracking, no analytics
- Offline First: Works completely offline, syncs when connected
- Always Free: No premium features, no subscriptions, completely free
๐ ๏ธ Technology Stack
Darwin Platform
- UI Framework: SwiftUI
- Data Persistence: SwiftData
- Reactive Programming: Combine
- Concurrency: Swift Concurrency (async/await)
- Extensions: WidgetKit, UIKit for keyboard extension
- Build System: Xcode
Compose Platform (Planned)
- UI Framework: Compose Multiplatform
- Language: Kotlin
- Data Persistence: Room
- Reactive Programming: Kotlin Flow
- Networking: Ktor Client
- Build System: Gradle
๐๏ธ Architecture
Design Patterns
- MV Architecture: Model-View pattern with SwiftUI/Compose
- Observer Pattern: Reactive state management
๐ฑ Features
Core Functionality
- Bookmark Management: Create, edit, delete, and organize bookmarks
- Collections: Folders and tags for organization
- Search: Full-text search with filters
- Import/Export: Support for JSON, CSV, and HTML formats
- Extensions: Share, keyboard, and widget extensions for seamless integration
- Offline First: All functionality works without internet connection
Platform-Specific Features
- iOS: Native iOS design, Share extension, Keyboard extension, Widget extension, Spotlight integration
- macOS: Status menu, Widget extension, keyboard shortcuts, window management
- visionOS: Spatial computing interface, immersive experiences
- Android: Material Design 3, adaptive UI, Android share integration
Advanced Features
- Link Previews: Automatic metadata extraction
- Reader Mode: Distraction-free reading
- Reminders: Set reminders for bookmarks
- Local Backup: Local backup options
- Privacy Focused: No data collection, no tracking, no analytics
๐ Getting Started
Prerequisites
- Darwin Development:
- Xcode 15.0+
- iOS 26.0+, macOS 26.0+
- Compose Development (Future):
- Android Studio Hedgehog+
- JDK 17+
- Android SDK 34+
๐ค Contributing
We welcome contributions! Please see our contributing guidelines:
Development Workflow
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Code Style
- Darwin: Follow Apple's Swift API and SwiftUI Guidelines
- Compose: Follow Kotlin coding conventions
- Common: Follow Kotlin Multiplatform best practices
๐ License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
๐ Support
- Documentation: Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
๐ Acknowledgments
- Apple for SwiftUI and SwiftData
- Google for Compose Multiplatform
- The open-source community for inspiration and tools
YABA - Making bookmark management beautiful across all platforms with complete privacy. ๐โจ