Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Niche Collector — Collection Tracker + Price Intelligence

Description and use

Niche Collector uses Sanity and Next.js to track collectible values, computing portfolio metrics with GROQ and filtering outlier listings.

Problem

Hobbyists need a way to track the value of niche collectibles (Hot Wheels, Gunpla, keyboards) and compare purchase prices to current market values, while filtering out outlier listings that distort valuations.

Outcome

The Niche Collector app demonstrates how structured content and GROQ enable accurate, outlier‑aware portfolio tracking for niche collectibles, outperforming keyword search and generic CMS solutions.

Workflow

  • 1. Define structured schemas for hobbyCategory, collectibleItem, collection, priceHistory, and wishlist in Sanity.
  • 2. Embed Sanity Studio in Next.js using NextStudio at /studio with basePath and CORS configured.
  • 3. Populate the dataset with seed items and price history records, marking outliers with isOutlier=true.
  • 4. Write GROQ queries to compute portfolio totals, item gains, and filtered price histories.
  • 5. Render portfolio stats on /collection using server‑side data fetching.
  • 6. Provide Vision queries for debugging and data inspection.
  • 7. Deploy to Vercel with vercel.json outputDirectory set to .next.
  • 8. Add SEO assets (opengraph-image, sitemap, robots, JSON‑LD).

Evidence

Portfolio tracker for niche hobbies (Hot Wheels, Gunpla, Mechanical Keyboards) that proves why structured content beats keyword search.

Source

The trick: a scam Rp 5,000,000 listing is flagged isOutlier=true and excluded from the median — so your portfolio stays honest.

Source

Try answering “total market vs total purchase for owned grails” with full‑text search. You can’t. You need math::sum(*[_type=="collectibleItem" && status=="owned"].currentValue) and a filtered priceHistory join on item._ref.

Source

  • Record date: 2026-09-22T16:30:48.905Z