Eilgnaw introduced Dexo, a native iOS client for Discourse forums built with Swift and UIKit. The app supports multi-forum management, allowing users to add and switch between multiple Discourse instances. Key features include browsing Latest and Top topics, filtering by categories or tags, and viewing topic details with HTML rendering, image viewers, and syntax-highlighted code. Dexo also enables replying to topics or specific posts and supports system, light, and dark modes.
Security is handled via the Discourse User API Key specification, generating an RSA key pair on the device and storing credentials in the iOS Keychain without saving passwords. The tech stack includes MVVM architecture, @Observable, SQLite (GRDB) for the database, Alamofire for networking, and SDWebImage for images. Initially shared as an open-source project on GitHub with a TestFlight link, Dexo has since evolved.
Updates highlighted nested reply support, Apple push notifications, and iPhone Duo support. In a significant milestone, Eilgnaw announced that Dexo is now officially available on the App Store, while remaining fully open source. Early user feedback from awyme praised the app as more user-friendly than Discourse Hub. The developer continues to solicit feedback and feature requests via GitHub or the forum thread.
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.
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.