FreshFind MarketMap - design tool for market analysis
Find a file
hermes 8dcda4dda6
All checks were successful
CI / build-and-lint (20) (push) Successful in 1m22s
ci: re-run via runner pickup verification
2026-09-26 20:06:47 -07:00
.forgejo/workflows fix: use full action URLs for Forgejo compatibility 2026-06-03 20:27:16 -07:00
public feat: add PWA support with offline caching 2026-05-11 08:37:47 -07:00
server gsd: pre-implementation lint/format cleanup 2026-05-26 19:34:08 -07:00
src fix #1: No backend/API layer — price data and alerts are entirely front-end mo 2026-05-26 23:14:14 -07:00
.gitattributes fix #9: Decompose: Break down #1 into implementable work units 2026-05-26 18:38:38 -07:00
.gitignore gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
bun.lock fix #9: Decompose: Break down #1 into implementable work units 2026-05-26 18:38:38 -07:00
components.json init: project setup from archive 2026-05-10 22:47:02 -07:00
eslint.config.js gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
index.html gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
lefthook.yml chore: add lefthook pre-commit hooks 2026-06-03 17:36:11 -07:00
package-lock.json feat: add PWA support with offline caching 2026-05-11 08:37:47 -07:00
package.json fix #9: Decompose: Break down #1 into implementable work units 2026-05-26 18:38:38 -07:00
postcss.config.js gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
README.md gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
tailwind.config.js gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
tsconfig.app.json gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
tsconfig.json gsd: pre-implementation lint/format cleanup 2026-05-16 06:57:02 -07:00
tsconfig.node.json init: project setup from archive 2026-05-10 22:47:02 -07:00
vite.config.ts fix #9: Decompose: Break down #1 into implementable work units 2026-05-26 18:38:38 -07:00

FreshFind Market Map

Crowdsourced produce & craft pricing from every stall, everywhere.

A market map design tool built with React, TypeScript, Three.js, and GSAP — featuring immersive 3D visualizations, reputation-based karma systems, and real-time price alerts.

Features

  • 3D Market Tunnel — Scroll-driven hero animation using Three.js shaders
  • Interactive Market Map — 3D top-down view of districts with animated price markers
  • Dual-Track Karma System — Reputation scoring for shoppers and merchants
  • Price Alerts — Subscription UI with item-based tracking
  • Offline-First PWA — Cached prices, Capacitor wrapper for native access

Tech Stack

  • React 19 + TypeScript + Vite
  • Three.js — 3D rendering (WebGL2)
  • GSAP + ScrollTrigger — scroll-driven animations
  • Tailwind CSS — utility-first styling
  • shadcn/ui — component primitives
  • Lucide — icon library

Getting Started

npm install
npm run dev

Open http://localhost:3000.

Scripts

Script Purpose
npm run dev Start development server
npm run build Type-check and build for production
npm run preview Preview production build
npm run lint Run ESLint

Project Structure

src/
├── components/     # Reusable UI components
│   └── ui/         # shadcn/ui primitives
├── hooks/          # Custom React hooks
├── lib/            # Utility functions
├── pages/          # Page-level components
├── sections/       # Page sections (Hero, Map, Value, Alerts, Footer)
├── App.css         # Legacy styles
├── App.tsx         # Root component
├── index.css       # Tailwind + custom styles
└── main.tsx        # Entry point

License

MIT