Hacker News new | ask | show | jobs
by sylwester 3 hours ago
I read HN on my phone every day and never really settled on a reader, so I wrote my own and finally tidied it up enough to put out there.

It's plain SwiftUI with no third-party dependencies. A few things I spent the most time on:

Comments are parsed and drawn as native text instead of being dumped into a web view. Links, italics, quotes and code blocks behave like the rest of the OS, text selection works, and threads collapse instantly. The whole comment tree comes back from the Algolia API in a single request, which felt a lot nicer than walking the Firebase API node by node.

Accessibility. Nothing depends on color on its own, so points, read state and selection all carry a shape or an icon too. VoiceOver reads each story as one coherent element with proper actions, Dynamic Type and Reduce Motion are respected, and there's a color-blind mode. The first-run setup actually looks at your device's accessibility settings, switches on the matching options, and tells you what it changed instead of making you hunt for them.

Then the usual things you'd expect: Top/New/Best/Ask/Show/Jobs, search, saved stories, read tracking, an in-app reader, light and dark, and a handful of accent colors.

It only talks to the public HN APIs, there's no account and nothing is tracked. Source and screenshots are in the repo.

I'd most like feedback on the comment rendering and the accessibility choices, since those were the parts I cared about getting right. Happy to answer anything about how it's put together.

2 comments

Looks great. Does it support pinch zoom like webpage hn does
Thanks for the app. Wanted to remind you of the HN guidelines though: https://news.ycombinator.com/newsguidelines.html

> Don't post generated text or AI-edited text. HN is for conversation between humans.