Summary
Port Pull Read to Windows 10 (1803+) and Windows 11. The codebase is well-positioned — core logic (feed parsing, extraction, Markdown writing, viewer server) is pure TypeScript with no platform dependencies. The main work is config paths, secret storage, CI pipeline, and testing.
Research: See docs/plans/2026-02-24-windows-port.md for full analysis.
Estimated effort: ~3–4 days for MVP, ~5–6 days polished with Copilot Runtime.
Architecture — What's Already Cross-Platform
| Layer |
Platform-specific? |
Notes |
| Feed parsing (feed.ts) |
No |
Pure TypeScript |
| Article extraction (extractor.ts) |
No |
linkedom + Readability |
| Markdown writer (writer.ts) |
No |
Pure TypeScript |
| Viewer server (viewer.ts) |
No |
Node HTTP server |
| Summarizer (summarizer.ts) |
Partially |
Apple Intelligence is macOS-only |
| TTS (tts providers) |
Partially |
Browser TTS + cloud are cross-platform; Kokoro is local |
| Config paths |
Yes |
~/.config/pullread/ → %APPDATA%\pullread\ |
| API key storage |
Yes |
macOS Keychain → Windows Credential Manager |
| Cookie extraction |
Yes |
macOS-specific Safari/Chrome cookie access |
MVP Checklist
Nice-to-Have
Risks
- WebView2 differences: Edge-based WebView2 vs macOS WKWebView may have rendering differences in viewer HTML
- Font rendering: Self-hosted fonts (Work Sans, etc.) may render differently — ClearType vs macOS font smoothing
- Kokoro TTS: Local TTS model loading may behave differently on Windows
- No Safari cookies: Windows users can't import Safari reading sessions
Decision
Recommend deferring until after current feature work stabilizes (v0.4.0 timeframe) to avoid splitting focus.
Summary
Port Pull Read to Windows 10 (1803+) and Windows 11. The codebase is well-positioned — core logic (feed parsing, extraction, Markdown writing, viewer server) is pure TypeScript with no platform dependencies. The main work is config paths, secret storage, CI pipeline, and testing.
Research: See
docs/plans/2026-02-24-windows-port.mdfor full analysis.Estimated effort: ~3–4 days for MVP, ~5–6 days polished with Copilot Runtime.
Architecture — What's Already Cross-Platform
~/.config/pullread/→%APPDATA%\pullread\MVP Checklist
Nice-to-Have
Risks
Decision
Recommend deferring until after current feature work stabilizes (v0.4.0 timeframe) to avoid splitting focus.