Vibeleaderboard
Index / app
Visit github.com
Category
Social
Rank
Pricing
Open Source
Type
APP
Builder
dimillian
GitHub
535 stars
Date

About

Native Bluesky client for iOS, built in SwiftUI by the author of Ice Cubes (the popular Mastodon app).

What it does

IcySky connects to Bluesky through the AT Protocol, authenticates with app passwords, and stores session credentials in the Keychain. Its working experience centers on browsing feeds, exploring saved feeds, and liking posts through a touch interface.

Why it's ranked here

The project offers a credible foundation for a modern Bluesky reader, with real authentication, feed models, optimistic likes, modular packages, and focused tests. It remains a development preview rather than a complete social client because several expected reading and publishing flows are unfinished.

What's good

The code separates protocol access, authentication, data models, navigation, design components, and feature interfaces into distinct libraries. Authentication persists sessions securely and publishes configuration changes asynchronously. Like actions update immediately, then restore prior state after network failure. Feed and design-system targets have dedicated tests.

Tradeoffs

It requires iOS 26, Xcode 26, and Swift 6.2, sharply limiting compatible devices and development setups. Post composition, profile viewing, and notifications remain in progress. Reposting is explicitly unimplemented, while failed like actions revert silently without exposing an error.

How to use it well

Pick IcySky to explore Bluesky feeds or study a modular SwiftUI application using current Apple frameworks and AT Protocol libraries. It suits developers comfortable building from source. Do not treat it as a finished replacement for workflows requiring reliable posting, profiles, notifications, or reposting.

Technical notes+

Packages/Model/Package.swift exports Client, Models, Auth, User, and Destinations libraries, declares iOS 26 and macOS 26 package platforms, and includes an AuthTests target. Packages/Features/Package.swift exports nine feature libraries and declares FeedUITests and DesignSystemTests using ViewInspector. Packages/Model/Sources/Auth/Auth.swift stores a generated session UUID with KeychainSwift, delegates session material to AppleSecureKeychain, and emits configuration changes through AsyncStream. Packages/Model/Sources/Models/PostContext.swift implements optimistic like creation and deletion with rollback on failure, while toggleRepost() contains only a TODO. Packages/Model/Sources/Models/PostItem.swift appends a fresh UUID to each post identifier despite hashing only the URI. Packages/Model/Sources/User/CurrentUser.swift fetches profile and preferences concurrently and removes the built-in following feed from saved feeds.

Observed

License
MIT License
Primary language
Swift
Application interface
Native graphical Bluesky client
App platform
iOS 26.0 or newer
Development requirements
Xcode 26.0 or newer and Swift 6.2 or newer
Packaging
Xcode project with separate Model and Features Swift packages
Package platforms
Model and Features packages declare iOS 26 and macOS 26
Tests
Swift Package Manager test targets cover authentication, feed UI, and the design system

Read from README.md, Packages/Model/Package.swift, Packages/Features/Package.swift, Packages/Model/Sources/Auth/Auth.swift, Packages/Model/Sources/Models/Media.swift, Packages/Model/Sources/Models/Profile.swift, Packages/Model/Sources/Models/FeedItem.swift, Packages/Model/Sources/Models/PostItem.swift, Packages/Model/Sources/User/CurrentUser.swift, Packages/Model/Sources/Client/BSKyClient.swift, Packages/Features/Sources/AuthUI/AuthView.swift, Packages/Model/Sources/Models/PostContext.swift, Packages/Model/Sources/Destinations/AppTab.swift, Packages/Model/Sources/Models/RecentFeedItem.swift, Packages/Model/Sources/Destinations/AppRouter.swift.

What it can do

  • View Bluesky timeline and posts

    Bluesky account credentialsFormatted feed of posts and updates

  • Create and publish posts to Bluesky

    Text content and optional mediaPublished post on Bluesky network

  • Follow and unfollow Bluesky users

    User profile or handleUpdated following list and personalized feed

  • Like and repost Bluesky content

    Selected posts from timelineEngagement interactions on posts

  • Search Bluesky users and content

    Search terms or hashtagsFiltered results of users and posts

  • View user profiles and post history

    Bluesky user handle or profile linkUser profile information and post timeline

Tags

blueskyiosswiftuiclientatproto

Tech Stack

ShellSwift

Media

IcySky

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.