{
  "@context": [
    "https://schema.org",
    {
      "nuanyue": "https://www.nuanyue.com/ns#"
    }
  ],
  "@type": "SoftwareApplication",
  "@id": "https://www.nuanyue.com/software/ice-cubes/#software",
  "name": "Ice Cubes",
  "description": "Open-source SwiftUI Mastodon client with tag groups and remote local timelines.",
  "url": "https://www.nuanyue.com/software/ice-cubes/",
  "mainEntityOfPage": "https://www.nuanyue.com/software/ice-cubes/",
  "operatingSystem": "macOS",
  "applicationCategory": "BusinessApplication",
  "sameAs": [
    "https://apps.apple.com/us/app/ice-cubes-for-mastodon/id6444915884",
    "https://github.com/Dimillian/IceCubesApp"
  ],
  "softwareVersion": "2.1.6",
  "license": "AGPL-3.0",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "nuanyue:record": {
    "schemaVersion": 1,
    "id": "software:ice-cubes",
    "slug": "ice-cubes",
    "name": "Ice Cubes",
    "type": "SoftwareApplication",
    "entityType": "Mastodon client",
    "description": "Open-source SwiftUI Mastodon client with tag groups and remote local timelines.",
    "shortDescription": "Open-source SwiftUI Mastodon client for iOS, macOS, iPadOS and visionOS.",
    "answer": "Ice Cubes is an open-source Mastodon client built entirely in SwiftUI. You can connect to any Mastodon instance, browse your timeline, interact with other users, and post updates and media. It is multiplatform — iOS, macOS, iPadOS and visionOS — with a dedicated sidebar UI on macOS and iPadOS. Two features are specific to it: tag groups, custom timelines made from several tags, and remote local timelines, which browse another instance's public timeline. It is licensed AGPL-3.0.",
    "page": "https://www.nuanyue.com/software/ice-cubes/",
    "dataUrl": "https://www.nuanyue.com/data/software/ice-cubes.json",
    "categories": [
      "productivity"
    ],
    "tags": [],
    "platform": [
      "macOS"
    ],
    "architecture": [],
    "featured": false,
    "pricing": "open-source",
    "license": "AGPL-3.0",
    "currentVersion": "2.1.6",
    "releaseDate": "2026-08-10",
    "openSource": true,
    "website": "https://apps.apple.com/us/app/ice-cubes-for-mastodon/id6444915884",
    "github": "https://github.com/Dimillian/IceCubesApp",
    "features": [
      "Connect to any Mastodon instance",
      "Tag groups: custom timelines made of several tags, unique to Ice Cubes",
      "Remote local timelines: browse another instance's public timeline",
      "Relies on Mastodon streaming events for live posts, and editing and deleting your own",
      "Home timeline cached with Bodega, so position and unread count survive a restart",
      "iCloud sync of tag groups, remote timelines and drafts"
    ],
    "useCases": [
      "Following several topics through tag groups instead of one flat timeline",
      "Browsing another instance's public timeline without joining it"
    ],
    "formats": [],
    "integrations": [],
    "pros": [
      {
        "text": "Open source under AGPL-3.0, built entirely in SwiftUI, and free.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "Tag groups are custom timelines made from multiple tags, which the project describes as unique to Ice Cubes.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "Remote local timelines browse the public timeline of another instance, which the project also describes as an Ice Cubes-only feature.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "The home timeline is cached with the Bodega library, so position and unread count survive a restart or an account switch.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "cons": [
      {
        "text": "It covers Mastodon only; a Misskey or Bluesky account needs a different client.",
        "status": "editorially-reviewed",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "It is an iOS-first app with a Mac build, so the desktop interface is the sidebar layout rather than a redesigned Mac one.",
        "status": "editorially-reviewed",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "Timeline sync is semi-automatic — your position is sent to the Mastodon marker API, which the instance has to support.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "whoIsItFor": [
      "Mastodon users who follow enough tags that a single timeline is not enough",
      "People who want an open-source SwiftUI client on Mac, iPhone, iPad and Vision Pro"
    ],
    "notFor": [
      "Users on macOS 10.15 or earlier — the app targets current Apple platforms"
    ],
    "limitations": [],
    "updates": [],
    "faq": [
      {
        "question": "Which platforms does Ice Cubes run on?",
        "answer": "iOS, macOS, iPadOS and visionOS, with a dedicated sidebar UI on macOS and iPadOS.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "question": "What is a tag group?",
        "answer": "A custom timeline made of several tags. The project describes it as a feature unique to Ice Cubes.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "question": "Is Ice Cubes free?",
        "answer": "Yes. It is open source under the AGPL-3.0 licence and free on the App Store.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "question": "Does it work with any Mastodon instance?",
        "answer": "Yes. The project states you can connect to any Mastodon instance, browse your timeline and post updates and media.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "relationships": [
      {
        "target": "mastodon",
        "type": "alternative",
        "reason": "Both are Mac clients for Mastodon. The official app is the reference client; Ice Cubes is an open-source SwiftUI alternative with tag groups.",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "target": "elytra",
        "type": "similar",
        "reason": "Both are native macOS and iOS clients built around one timeline you read — Elytra for RSS, Ice Cubes for Mastodon.",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "target": "feedy",
        "type": "similar",
        "reason": "Both are lightweight reading clients with a Mac build. Feedy is an RSS and news reader; Ice Cubes reads a Mastodon timeline.",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "sources": [
      {
        "id": "ice-cubes:official",
        "type": "official_website",
        "url": "https://apps.apple.com/us/app/ice-cubes-for-mastodon/id6444915884",
        "title": "Ice Cubes — official website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "ice-cubes:repository",
        "type": "github",
        "url": "https://github.com/Dimillian/IceCubesApp",
        "title": "Ice Cubes — source repository",
        "trustLevel": "D",
        "accessedAt": null
      }
    ],
    "claims": [
      {
        "id": "software:ice-cubes.isA",
        "subject": "software:ice-cubes",
        "predicate": "isA",
        "value": "Mastodon client",
        "status": "editorially-reviewed",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.supportsPlatform",
        "subject": "software:ice-cubes",
        "predicate": "supportsPlatform",
        "value": [
          "macOS"
        ],
        "status": "verified",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.officialWebsite",
        "subject": "software:ice-cubes",
        "predicate": "officialWebsite",
        "value": "https://apps.apple.com/us/app/ice-cubes-for-mastodon/id6444915884",
        "status": "verified",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.listedInCategory",
        "subject": "software:ice-cubes",
        "predicate": "listedInCategory",
        "value": [
          "productivity"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.pricingModel",
        "subject": "software:ice-cubes",
        "predicate": "pricingModel",
        "value": "Open source",
        "status": "developer-stated",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.ownership",
        "subject": "software:ice-cubes",
        "predicate": "ownership",
        "value": "Third-party product — not published by Nuanyue",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.isOpenSource",
        "subject": "software:ice-cubes",
        "predicate": "isOpenSource",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "ice-cubes:repository",
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.licensedUnder",
        "subject": "software:ice-cubes",
        "predicate": "licensedUnder",
        "value": "AGPL-3.0",
        "status": "verified",
        "sourceIds": [
          "ice-cubes:repository",
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.currentVersion",
        "subject": "software:ice-cubes",
        "predicate": "currentVersion",
        "value": "2.1.6",
        "status": "developer-stated",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.hasFeature",
        "subject": "software:ice-cubes",
        "predicate": "hasFeature",
        "value": [
          "Connect to any Mastodon instance",
          "Tag groups: custom timelines made of several tags, unique to Ice Cubes",
          "Remote local timelines: browse another instance's public timeline",
          "Relies on Mastodon streaming events for live posts, and editing and deleting your own",
          "Home timeline cached with Bodega, so position and unread count survive a restart",
          "iCloud sync of tag groups, remote timelines and drafts"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.usedFor",
        "subject": "software:ice-cubes",
        "predicate": "usedFor",
        "value": [
          "Following several topics through tag groups instead of one flat timeline",
          "Browsing another instance's public timeline without joining it"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.audienceFor",
        "subject": "software:ice-cubes",
        "predicate": "audienceFor",
        "value": [
          "Mastodon users who follow enough tags that a single timeline is not enough",
          "People who want an open-source SwiftUI client on Mac, iPhone, iPad and Vision Pro"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.audienceNotFor",
        "subject": "software:ice-cubes",
        "predicate": "audienceNotFor",
        "value": [
          "Users on macOS 10.15 or earlier — the app targets current Apple platforms"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "ice-cubes:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:ice-cubes.advantage.0",
        "subject": "software:ice-cubes",
        "predicate": "advantage",
        "value": "Open source under AGPL-3.0, built entirely in SwiftUI, and free.",
        "status": "verified",
        "sourceIds": [
          "ice-cubes:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:ice-cubes.advantage.1",
        "subject": "software:ice-cubes",
        "predicate": "advantage",
        "value": "Tag groups are custom timelines made from multiple tags, which the project describes as unique to Ice Cubes.",
        "status": "verified",
        "sourceIds": [
          "ice-cubes:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:ice-cubes.advantage.2",
        "subject": "software:ice-cubes",
        "predicate": "advantage",
        "value": "Remote local timelines browse the public timeline of another instance, which the project also describes as an Ice Cubes-only feature.",
        "status": "verified",
        "sourceIds": [
          "ice-cubes:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:ice-cubes.advantage.3",
        "subject": "software:ice-cubes",
        "predicate": "advantage",
        "value": "The home timeline is cached with the Bodega library, so position and unread count survive a restart or an account switch.",
        "status": "verified",
        "sourceIds": [
          "ice-cubes:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:ice-cubes.drawback.0",
        "subject": "software:ice-cubes",
        "predicate": "drawback",
        "value": "It covers Mastodon only; a Misskey or Bluesky account needs a different client.",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:ice-cubes.drawback.1",
        "subject": "software:ice-cubes",
        "predicate": "drawback",
        "value": "It is an iOS-first app with a Mac build, so the desktop interface is the sidebar layout rather than a redesigned Mac one.",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:ice-cubes.drawback.2",
        "subject": "software:ice-cubes",
        "predicate": "drawback",
        "value": "Timeline sync is semi-automatic — your position is sent to the Mastodon marker API, which the instance has to support.",
        "status": "verified",
        "sourceIds": [
          "ice-cubes:repository"
        ],
        "lastVerified": "2026-10-16"
      }
    ],
    "lastUpdated": "2026-10-16T00:00:00.000Z",
    "lastReviewedAt": null
  }
}