Open menu
Switch to Darkhello@product.inc

Vibe-code

A social marketplace for rock & mineral collectors

Vibe-codeNext.jsMarketplaceMaps + Search
RockStore — cover

RockStore is a marketplace and social network for rock and mineral collectors a place to buy, sell, and show specimens with the scientific detail the hobby actually cares about: dimensions, weight, locality, condition, certification, and provenance. Faceted search, an interactive map of localities, collections, comments, and seller profiles round it into a community rather than a bare storefront.

It's a vibe-coded riff on the same problem behind the EarthWonders case study — how collectors discover one another and build enough trust to spend real money sight-unseen. Rebuilding it fast and unconstrained was a way to test ideas like map-based discovery, dominant-color tagging, and provenance-as-structured-data without the guardrails of a client engagement.

Role

Solo build — designed and vibe-coded end to end with AI pair-programming. Next.js 14 (App Router) on a Turbo monorepo, Prisma/Postgres, Algolia search, Mapbox, Stripe and PayPal.

What shipped

  • Specimen catalog with rich metadata: dimensions, weight, origin, condition rating, and certification IDs.
  • Faceted Algolia search and filtering by price, condition, locality, and species.
  • Interactive Mapbox map with marker clustering for browsing by where specimens were found.
  • Social layer: comments, likes, favorites, public and private collections, and seller profiles.
  • Commerce stack scaffolded with Stripe and PayPal, plus structured provenance records for chain of custody.

Selected decisions

  • Treated locality as a first-class, browsable dimension — map and facets both — because in this hobby where a piece came from drives much of its value.
  • Auto-tagged dominant color from listing photos to power a visual discovery view.
  • Modeled provenance as a structured record rather than a free-text note, giving listings the standing of a catalog entry.
  • Built on a Turbo monorepo with a Storybook + Chromatic component library for visual-regression coverage.

Walkthrough

A closer look

Specimens as records, not just products

Each listing carries the data collectors judge by — dimensions, weight, locality, condition, certification, and provenance — so a specimen reads like a documented object with a history, not a generic SKU.

Discover by where it came from

Algolia drives instant faceted search while a clustered Mapbox map turns locality into a way to browse. Certain mines and regions map directly to rarity, so the geography is a primary axis, not a footnote.

A storefront that's also a community

Collections, comments, favorites, and seller profiles give collectors a way to show what they hold, recognize expertise, and build the reputation that makes a high-value sale possible.

A familiar problem, rebuilt fast

Working the same terrain as EarthWonders without client constraints let me prototype the riskier ideas — color-based discovery, map-first browsing, structured provenance — and see which ones actually earn their place.