Categories
Building In Public iOS Development

Shipaton 2025: Building Bubbles

Follow along with my journey of building Bubbles, a native Discourse client for iOS, iPadOS and macOS.

Follow along with my journey of building Bubbles, a native Discourse client for iOS, iPadOS and macOS.

Sign up to hear about Bubbles at https://gobubbles.app

Each title is linked to the YouTube video that was shared as a video form of each update. Full playlist here. This blog post will be continually updated.

Part 1, July 12

  • Announcement of the app on social media
  • Going to try to use the Swift Open API Generator
  • App name: Bubbles
  • Sign up at https://gobubbles.app

Part 2, July 15

  • Deciding which architecture for the codebase (using packages or just keeping all the files in one Xcode project)
  • Figuring out how to use Swift Open API Generator

Part 3, July 25

  • Reading a ton of docs about how to do authentication with Discourse

Part 4, August 1

  • Thinking, what does this experience look like for an authenticated vs non-authenticated user?
  • Continue researching how does authentication work for Discourse

Part 5, September 7

I did a lot of incremental work during August, but was also super busy and didn’t really post a recap.

  • Ditched Swift Open API Generator 😭 due to yaml specification actually being difficult to know and use (the generator itself wasn’t really an issue)
  • Reduced scope to make version 0 (ZERO)
    • Read the top 30 latest posts
    • See the detail view of those posts
    • No authentication (it’s coded, but you can’t do anything yet, so it’s commented out)
    • Users can add however many “communities” to follow and switch between
  • Add monthly / yearly subscription using RevenueCat, and RevenueCat Paywalls is shown during onboarding
  • Sent the build to App Store Connect! For release right before iOS 26, and then immediately bump the minimum version number

Part 6, September 20

I failed.

I failed to meet many of my goals that I had set, and this is a reflection of that. I didn’t ship as many (or nearly any of the features I wanted) throughout the 2 months of Shipaton, but I still got somewhere.

Part 7, Sept 26