Back to work
Case 06
Article Summarizer
Handling untrusted web content safely
DESIGNVERIFYOPERATE
An RSS reader that strips remote HTML down to plain text before any of it reaches a language model.
How it fits together
RSS feedfetchersanitizermodel APIReact client
The problem
RSS feeds hand you someone else's HTML. Passing it straight through gives messy summaries and opens an input boundary you did not mean to open.
Where it could go wrong
What is exposed
- RSS input
- remote HTML
- model boundary
Checks in place
- HTML parsing
- content sanitization
- server-side API mediation
Result
- clean text extraction
- real-time summaries
- provider abstraction
How I built it
Spring Boot fetches the feeds server-side, so the API key never reaches the browser. Jsoup strips the markup down to text before it goes to OpenRouter, and React displays the summaries.
JavaSpring BootReactJsoupOpenRouter API