Skip to content
Projects

275+ sources · 26 topics

Curio

One reading feed from 275+ sources

Curio screenshot
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