Ian Greenough

Founding Product Engineer
← Back to projects

Link Saver + AI Summarizer

I built this as a bookmark management tool to demonstrate the SSE streaming pattern. Users paste URLs, the server automatically fetches and extracts article content, and Claude AI generates summaries that stream to the browser token-by-token.

Summaries are cached in Redis with a 7-day TTL, so repeat visits return instantly without calling the LLM. I added a re-summarize button with explicit cache busting, AbortController handling for client disconnects (saving API tokens), and token usage display showing input/output counts after completion.

The frontend features tag management with custom colors, full-text search, and real-time status indicators (Idle, Connecting, Streaming, Complete, Error). I applied rate limiting per-user at 20 requests per hour for summaries via Redis.

Technologies Used

TypeScriptNext.jsExpressPostgreSQLRedisClaude APISSETanStack Query