Read-it-later apps (Pocket, Instapaper, Matter, Readwise Reader) save articles for later consumption — stripped of ads, formatted for reading, available offline. The interview tests whether you understand article extraction, offline-first sync, and the polish that distinguishes serviceable from delightful.
Functional requirements
- Save an article via share sheet, email, or browser extension
- Strip ads, navigation, sidebars
- Format for reading (typography, dark mode, spacing)
- Read offline
- Tag and search
- Sync across devices
- Optional: text-to-speech reading
Article extraction
The hardest technical challenge. Strategies:
- Mercury Parser / Readability: heuristic algorithms that detect article body
- Server-side rendering: fetch the page, run extraction, return clean HTML
- LLM-based: modern approach; passes the page to an LLM that extracts the article
Most apps use server-side extraction. On-device is too costly per article.
Storage
Per article:
- URL, title, author, publish date
- Extracted body (HTML)
- Hero image (cached)
- Tags (user-applied)
- Read status
- Highlights and annotations
Stored in local SQLite for instant access; synced to server.
Offline reading
On save:
- Server extracts article
- Client downloads extracted body + hero image
- Stored locally for offline access
Saved articles accumulate (~50KB each typical). Cap library size; offer manual cleanup.
Reading UI
Best practices:
- Generous typography (16–18pt body)
- Adjustable font size, family, theme (light/sepia/dark)
- Single-column layout
- Progress bar showing time remaining
- Tap to scroll to next page (some apps)
Highlights and annotations
Like a Kindle:
- Long-press to select text → highlight
- Add a note
- Color-coded highlights for category
- Sync to server; available across devices
- Export highlights to Notion, Obsidian, Readwise
Tag and search
- User-applied tags
- Auto-tags via ML (topic detection)
- Full-text search via local FTS5
- Filter by source, date, read status
Text-to-speech
Modern apps offer TTS for articles:
- iOS: AVSpeechSynthesizer or third-party (ElevenLabs)
- Android: TextToSpeech
- Background playback works like a podcast
High-quality TTS makes articles audio-consumable. Hot feature in 2026.
Sync
Per-device library + cloud master:
- Device adds article → uploads to cloud
- Cloud notifies other devices via push
- Other devices download
- Read state and progress sync (similar to Kindle position sync)
Browser extension
The primary save mechanism. Extension hits a save endpoint on the server. Server fetches and extracts; client gets it on next sync.
Email-to-save
User forwards a newsletter to a unique email address. Server parses the article and adds to library. Common feature for newsletter consumers.
Common gotchas
- Paywalled articles — strip behind paywall fails
- JavaScript-heavy pages — server extraction misses content
- Multi-page articles — only first page extracted
- Image-heavy articles — local storage explodes
Frequently Asked Questions
Why did Pocket lose ground?
Mozilla acquired Pocket; product slowed; competitors (Readwise Reader, Matter, Omnivore) shipped faster. Sometimes the sale is the death.
How do I handle a user with 1000+ saved articles?
Pagination, filters, search. Auto-archive after 6 months unread.
What about audio articles?
Some apps generate TTS audio on save; let user listen during commute. Storage hit but valuable feature.