Shreyansh Kumar Singh

Case study · EDITORIAL · 2606.EDT.06

The Collector's Pulse: an AI-curated newsroom for collectors

How do you build an AI-curated news site that stays fresh and doesn't break?

The Collector's Pulse is a daily newsroom for collectors of trading cards, anime figures and luxury watches: it ingests live news, uses Gemini to classify stories and write article bodies, and publishes them through Supabase — with a fallback chain from database to cached live feed to sample data so the site never renders empty.

By Shreyansh Kumar Singh · Updated · Source available on GitHub.

The Collector's Pulse real homepage, full length — 'Every rare find, decoded.' with live trending articles
Collecting worlds
3
Freshness filter
30 days
Spec documents
6
Stack
Next.js 16 · React 19 · TypeScript · Tailwind v4 · Supabase · Gemini

01The problem it solves

Collecting communities live on news — releases, drops, auctions — scattered across feeds, forums and retailer pages. A single daily front page for three very different collecting worlds needs fresh content, and a design that lets each world feel like itself.

02What he built

Ingestion and AI processing

Live Google News RSS for each category, a Reddit scraper, and a Gemini processor that classifies stories and writes article bodies; ingestion runs from a cron endpoint and a background worker. Pages read published rows from Supabase first, then a cached live feed (90 s), then sample data.

An image pipeline that rejects junk

Each story's image is resolved from the feed, then the page's og:image or largest content image, then a category fallback — rejecting interstitial logos, and serving remote URLs on Vercel where the disk is read-only.

A hub, a newsroom and article pages

An art-driven front door, a filterable newsroom with a top story and trending sidebar, and long-form article pages with related stories and source links, in light and dark themes.

03 — THE HARDEST DECISIONWrite the design system before the interface

Three collecting worlds could easily average into mud. Instead the design system was written first, giving each category a distinct, non-overlapping job — trading cards in blue, figures in violet, watches in gold — over a dark obsidian base with ember accents, Cormorant, Space Grotesk and Inter, and motion tokens for the living backgrounds.

04The result

A Next.js 16 newsroom with six specification documents behind it, a 30-day freshness filter on what counts as news, and an architecture that degrades to a working page at every layer.

RESEARCHResearch findings from this project

R-09Writing the design system before the interface

Three marques, three non-overlapping jobs — averaging references produces mud; assigning each a distinct role produces a system.

STACKTech stack

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind v4
  • Gemini

MORE OF THE RANGEMore projects by Shreyansh Kumar Singh