Dexo - A Native iOS Client for Discourse

Hi everyone!

I’d like to share Dexo, a native iOS client for Discourse forums that I’ve been building with UIKit and Swift.

Screenshots

Features

  • Multi-Forum Management — Add, switch between, and remove multiple Discourse instances in one app
  • Topic Browsing — Latest and Top topic lists with infinite scrolling
  • Categories & Tags — Browse topics by category or tag
  • Topic Detail — Full HTML content rendering with image viewer, syntax-highlighted code blocks, and collapsible sections
  • Reply — Reply to topics or to a specific post
  • Secure Auth — Uses the Discourse User API Key flow with RSA encryption; credentials are stored in the iOS Keychain
  • Appearance — System / Light / Dark mode

Planned

  • Notifications & private messages
  • Topic creation

Tech Stack

Component Detail
Language Swift 5
UI Framework UIKit
Minimum Target iOS 17.0
Architecture MVVM + @Observable
Database SQLite (GRDB)
Networking Alamofire
Image Loading SDWebImage

How Authentication Works

Dexo follows the Discourse User API Key specification.
It generates an RSA key pair on the device, sends the public key to your Discourse instance for authorization, and stores the resulting API key securely in the iOS Keychain.
No passwords are stored on the device.

TestFlight

Source Code

The project is fully open source:

Build from Source

Requires Xcode 16+ and mise:

make setup    # Install tools, fetch deps, generate Xcode project

Then open dexo.xcodeproj, select your dev team, and run.

Feedback

This is still a work in progress.
I’d love to hear your feedback, feature requests, or bug reports.
feel free to reply here or open an issue on GitHub.

13 לייקים