Thanks! It should be available in Germany now — let me know if you still have trouble finding it.

Yes, Readability.js is injected into a hidden WKWebView for each extraction. I also recently added Defuddle as a second engine to handle JS-heavy sites and ones with custom extractors (Twitter/X, Reddit, YouTube, Hacker News, GitHub, etc.). A coordinator routes to the right engine based on the domain. After extraction, the HTML gets parsed into typed content blocks and rendered as native SwiftUI views — much nicer for theming and performance than using a web view. The Share Extension just grabs the URL and hands it off to the main app for full processing.

That's really cool that you rewrote the Postlight parser in native Swift — that's a serious undertaking. I considered going fully native for parsing but the JS engines are surprisingly capable when you let them run in a WebView. Really enjoyed reading your write-up too! The scoring approach you took for content extraction is essentially what Readability.js does under the hood too — scoring DOM nodes by heuristics and bubbling scores up to parents. Impressive that you reimplemented that in native Swift.