Goal
Make project news and release explanations available as a native, accessible app surface without embedding the website.
Requirements
- Generate a stable, versioned machine-readable feed from the same canonical Markdown used by the website.
- Present a native news list and article reader using shared app components, not a WebView.
- Lead with plain-language outcomes and examples while retaining optional technical depth.
- Cache the most recently verified feed and articles for offline reading.
- Bound feed size, article size, image size, cache storage, and parsing work.
- Treat remote content as untrusted: sanitize supported Markdown, disallow executable content, and open external links through the platform handoff.
- Expose loading, offline, stale-cache, empty, and retry states.
- Keep account credentials, server sessions, and personal data out of requests and analytics.
- Support accessible typography, screen readers, keyboard navigation, phone layouts, and desktop layouts.
Acceptance criteria
- News published on the project website appears in the app from the same source content.
- A previously loaded news index and article remain readable offline.
- The native reader does not execute HTML, scripts, or unsafe links.
- Non-technical summaries are visible before implementation details.
- Automated tests cover schema compatibility, limits, sanitization, caching, and offline fallback.
Goal
Make project news and release explanations available as a native, accessible app surface without embedding the website.
Requirements
Acceptance criteria