Personal apps

Pressroom

RSS reader backed by self-hosted FreshRSS

Platform
  • iOS
Status
Shipping
Stack
SwiftUI

Pressroom is a magazine-style reader for the iPhone that syncs with a self-hosted FreshRSS server over the Google Reader API. Instead of a list of headlines it lays each article out as a page, Flipboard style, with the lead photo filling the top half and a fold-flip to the next page. Articles are cached in SwiftData so the magazine reads offline, and a background refresh keeps it current between opens.

The main workflow is pick a section, flip, read. A pill at the bottom names the current section; tap it for All Articles, Starred, or any FreshRSS folder with its unread count. All Articles is ordered folder by folder in the server’s manual order, with a colored group tag on each page and sticky group headers in list mode, so you always know where you are. Auto-continue reads groups and feeds as one stream, and flipping past the end of a section lands on a caught-up card. Tapping a page opens the reader; read and star state push back to the server, and feeds can be unsubscribed or deleted from the app.

Other things it does:

  • An image pipeline that probes each article’s candidate images for real dimensions (body images, lazy-load and srcset entries, og:image) and decides per photo whether to crop, letterbox over a blurred copy, or fall back to a text page, so small or oddly shaped photos are never stretched.
  • Settings for mark-read-on-flip-past, auto-continue marking, per-folder group colors with the six 1977 Apple logo colors as presets, and the account with a Sign Out button. Credentials live in the Keychain.
  • A list view as an alternative to the magazine, pull to refresh on every reading surface, and a progress ring showing the position in the stack.
  • The layout engine is a separate Swift package with its own unit tests.