I’ve been spending time vibe-coding to stay close to where AI tooling is actually heading. Along the way, I’ve been running experiments, shipping small systems, and learning what works (and what doesn’t) in real use. This is another post in that series where I’m sharing one of those builds and what I’m learning from it.
A few months ago I posted that I got bored and built a native macOS BlueSky app.
I kept going.
This is still very much an experiment, but it’s turned into a legit daily driver for me in bursts.
What’s working well now
- OAuth login is stable enough for regular use
- Timeline refresh behavior is much better (newer posts show up reliably at the top)
- Load-more behavior is smoother for older posts
- Posting / replying / bookmarks / profile views are in good shape
- Feed selector is more useful now (including followed lists, not just lists I created)
- Link previews and media handling are noticeably better
- GIF rendering/scaling is improved and fits the window better
- A lot of under-the-hood performance cleanup happened (token refresh flow, image caching, request deduping, and timeline merge logic)
Still rough (or not done)
- DMs are still the biggest sharp edge due to OAuth chat scope + token behavior complexity
- Notifications are not where I want them yet
- Search quality is still behind what I’d consider “done”
- There are still occasional UI/layout oddities in edge cases
Why I’m still doing this This project has become my sandbox for building an app the way I want to use one:
- native first
- minimal friction
- fast to open
- opinionated about the core flow (read, post, reply)
I also like how quickly this app reveals where protocol-level details (OAuth scopes, token expiry, chat endpoints, moderation labels, etc.) collide with real product UX.
Next up
- Finish DM support end-to-end in a way that is actually reliable
- Keep shaving latency from initial load and resume-from-idle
- Keep simplifying code paths after each feature pass (less clever, more obvious)
I still don’t know how far I’ll take this.
But it continues to be one of the more fun things I’ve built lately.