Commit b46a962
committed
feat(feeds): add email feed system with AI-powered content curation
Users can create feed email addresses (feed-<hash>@thestack.cl), subscribe them
to external newsletters, and an AI agent (Gemini 2.5 Flash) processes incoming
emails to publish relevant tech content. Posts are published under the user's
name with a "via feed" badge.
- DB: feeds, feed_logs tables + source/feedId/status columns on posts
- API: CRUD feeds, pending posts approval/rejection, admin feed management
- Email: Cloudflare Email Routing handler with postal-mime parsing
- Agent: LangChain agent with fetch_url/publish_post/skip tools
- Frontend: feeds management in settings, pending posts page, admin feeds tab
- Rate limits: 3 feeds per user, 1 email per 3 days per feed1 parent 77b49c0 commit b46a962
17 files changed
Lines changed: 5214 additions & 1471 deletions
File tree
- api
- migrations
- src
- db
- lib
- routes
- web/src
- lib
- components
- routes
- admin
- settings
- feeds
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
0 commit comments