RSS Digest Lab
Fetch an RSS/Atom feed URL, take the top-N items, and generateObject short digests with a regenerate endpoint.
Run this experiment yourself
Demos are not embedded on this site. Deploy a standalone copy on Vercel or run the experiment app locally.
Local development
cd apps/experiments/rss-digest-lab pnpm install pnpm dev
Then open http://localhost:3010.
This is an experimental demo. Use it as a starting point for your own projects.
RSS Digest Lab fetches an RSS/Atom feed (capped), parses top-N items locally, and returns one-sentence digests via generateObject. Pass regenerate: true to refresh wording with cache: no-store.
Features
- Feed parse in
logic.ts– RSS item/entry + CDATA heuristics - Top-N digests – clamped 1–10
- Regenerate – same endpoint with fresh prompt angle
Server Reference
POST /api/digest
{ "feedUrl": "https://nextjs.org/feed.xml", "topN": 5, "regenerate": false }| Status | Cause |
|---|---|
503 | No AI provider |
400 | Validation / upstream / empty input |
Implementation Details
Pure helpers in logic.ts
Caps, parsers, and clamps live in the experiment folder and are covered by logic.test.ts.
Route Handler
POST /api/digest validates input, applies fetch/parse limits where relevant, then returns JSON from generateObject.
Use Cases
- Learn composition patterns for this lab’s stack.
- Prototype before wiring production auth and quotas.
- Deploy the standalone app as a reference implementation.
Limitations
- Demo-scale caps on input size and output counts.
- No auth / rate limits on public deploys.
- Model quality depends on input clarity.
- Treat outputs as drafts, not production truth.
Use in your project
Copy the Route Handler and logic.ts helpers from apps/experiments/rss-digest-lab/. Wire your own persistence and auth as needed.
Deployment
Local Development
cd apps/experiments/rss-digest-lab
pnpm install
pnpm devConfiguration
| Variable | Required | Purpose |
|---|---|---|
AI_GATEWAY_API_KEY | Yes (or OPENAI_API_KEY) | Preferred provider |
OPENAI_API_KEY | No | Fallback |
AI_MODEL | No | Model override |
Vercel / Next.js Features Used
- Route Handlers
- Zod
- AI SDK
generateObject