275+ sources · 26 topics
Curio
One reading feed from 275+ sources

- Year
- 2026
- Role
- Solo: design, backend, infra
- Context
- Solo · 71 commits
- Stack
- Next.js, TypeScript, Drizzle, PostgreSQL, Resend, GitHub Actions
Overview
Topic-based feeds pulled from 275+ sources across 26 topics. Five scheduled jobs run ingestion, email digests, source-quality scoring, cleanup and re-engagement, and one slow feed never stalls a run.
How it works
- Parallel ingestion with Promise.allSettled and an 8-second timeout per source.
- Feed ranking blends recency with a per-source quality score built from bookmark and read rates.
- Postgres full-text search ranked with ts_rank, no external search service.
- Timezone-aware digests via Resend, with HMAC-signed unsubscribe and feedback links.
Next project
FieldProof