Use Ice Cubes as a full-featured Mastodon client on iPhone, iPad, or Mac with push notifications and multi-account support.
Study the codebase as a real-world SwiftUI reference to learn layouts, data handling, and MVVM architecture across Apple platforms.
Build a custom Mastodon feature by forking the project and adding it to one of the existing Swift feature packages.
Create a custom timeline by combining multiple Mastodon hashtags into a single tag group view.
Requires an Apple developer team ID and bundle prefix, copy the config template file before compiling.
Ice Cubes is a free, open-source app for Mastodon, a decentralized social network that works similarly to Twitter or Bluesky but where many independent servers (called instances) connect together instead of one company controlling everything. The app is available on the App Store and works on iPhone, iPad, Mac, and Apple Vision Pro. It is built entirely with SwiftUI, Apple's modern framework for building interfaces across all its platforms. The app covers the full range of things you would expect from a social app: browsing your home timeline, seeing posts from your local server or the broader network, following hashtags, direct messages, notifications, and exploring trending content. A few features are specific to Ice Cubes: tag groups (custom timelines built from multiple hashtags at once), the ability to add remote local timelines so you can browse another instance's public feed, and AI-assisted tools in the post editor that use the OpenAI API to suggest hashtags or describe image attachments. Your timeline position syncs between devices through the Mastodon server API, and your home timeline is cached locally so you can see recent posts even before new ones load. Push notifications are supported with a proxy that routes Mastodon notifications to Apple's notification system. The notification content itself is decoded on the device, not on the proxy, so the proxy cannot read the content of messages. The app supports multiple accounts, stores authentication tokens in the device keychain, and uses Apple's built-in secure login flow. The codebase is organized into separate Swift packages by feature area (timeline, editor, notifications, accounts, and so on), and the author notes in the README that it is a good project to read through if you are learning SwiftUI, since it covers layouts, data handling, and user interaction in a real-world context. The architecture follows a straightforward pattern called MVVM without additional frameworks layered on top. To build it locally you clone the repository and copy a configuration template file before compiling, then fill in your Apple developer team ID and app bundle prefix.
← dimillian on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.