Show HN: Oliphaunt – A native Mastodon client for macOS

76 anosidium 27 5/9/2025, 4:21:19 PM testflight.apple.com ↗
I’ve been building Oliphaunt, a native Mastodon client for macOS, as a solo project — designed to be fast, lightweight and feel right at home on the Mac. It’s not built with Catalyst or Electron framework.

Key features:

• Native macOS UI using AppKit with some SwiftUI integration (not a web wrapper)

• Core Data for local caching

• Responsive, keyboard-friendly interface

• UX tailored for desktop-class Mac computers

• Supports multiple accounts, cross-instance timelines and search

You can try it via TestFlight (macOS 14+ Sonoma): https://testflight.apple.com/join/Epq1P3Cw

Feedback is welcome here, on GitHub, or via TestFlight: https://github.com/anosidium/Oliphaunt-Feedback-And-Support

Comments (27)

thephyber · 2h ago
New iOS (XCode) developer here.

Do you have any pro tips for optimizing workflow, reducing toil in XCode, or speeding up UI testing?

grishka · 3h ago
It does look nice.

I can't seem to figure out how to open posts and profiles though. Neither single nor double-clicking does anything. Sometimes double-clicking a post that contains a link would open the link in the web browser. The only thing that works is right click -> open in new window. MacOS 14.7.5 (23H527)

anosidium · 3h ago
Thanks!

Yes, that’s intentional — to view a thread or profile, use the contextual menu (right-click or control-click). Clicking is reserved for posts that contain a link or preview card, which will open in the browser.

noiv · 5h ago
I like the Mac integration and all the features in the menu. Did I miss bigger fonts somewhere?
anosidium · 3h ago
Nope. I will add this feature in future updates.
mountainriver · 7h ago
The link goes to testflight?
anosidium · 7h ago
Yes. It's not on the Mac App Store yet.
andrewmcwatters · 7h ago
Nicely done, looks good!
dlachausse · 7h ago
Always great to see native macOS apps! Is there a reason you aren’t using SwiftUI for the whole thing and that you opted for Core Data instead of Swift Data?
wpm · 6h ago
Swift Data is CoreData in a wrapper.

Also, not OP, but I’m glad it’s written in AppKit vs SwiftUI purely; AppKit just feels better on the desktop. I can always “smell” a SwiftUI app just like I can an Electron app.

drcongo · 6h ago
If the Settings app on current macOS is SwiftUI, then I can too. It's horrible.
sgt · 5h ago
Never thought of that. Is that why the Settings app is so slow? If I click on one of the menu items on the left, it takes half a second or more to load the screen.
galad87 · 5h ago
SwiftUI doesn't help, but each panel is a separate process. The previous version of System Preferences hid the delay by showing an animation, the new one doesn't.
zerkten · 4h ago
Why is a separate process necessary here?
pvg · 4h ago
You don’t want login settings, cursor blink rate settings and random app settings running in the same process
kstrauser · 1h ago
Why? Is there a mechanism by which one of those would be able to interfere with another?
pvg · 44m ago
Yes, the mechanism of “memory access”.
tough · 5h ago
Search is also broken af raycast saves me from going mad
anosidium · 6h ago
Thanks! I’m glad to hear that.

It’s an AppKit-first app — I’ve used SwiftUI in parts where it fits well, but I’ve avoided relying on it entirely because it’s still maturing, especially on macOS. In certain areas, it can compromise the native look and feel, or introduce unexpected behaviour.

As for Core Data, it’s a proven and robust framework that already does everything I need. Swift Data is still relatively new and doesn’t yet offer the same level of flexibility or stability for more advanced use cases.

techlatest_net · 6h ago
Thanks for the TestFlight invite! I’ll install the iOS build and keep an eye on performance, UI responsiveness, and any crash logs. Happy to send feedback through the TestFlight app if anything comes up.
zimpenfish · 5h ago
Alas, fell at the first hurdle by saying my Akkoma and GotoSocial instances aren't valid.
anosidium · 5h ago
Could you please give me some instance URLs so that I can check?
zimpenfish · 1h ago
Added a couple of mine to the issue I filed earlier.
rglullis · 3h ago
You can find out about different servers on https://fedidb.com
anosidium · 3h ago
Thanks, that's helpful!
stonogo · 3h ago
FediDB doesn't track GoToSocial servers, because of a dispute about scraping/crawling.
anosidium · 3h ago
Is there a better source that tracks a broader range of Fediverse servers? At the moment, my app officially supports Mastodon, though I’m aware there are derivative forks and other compatible implementations.