Professional offer desk: implementation plan

Goal

Show a wholesaler the supplier's total asking price next to a transparent Rapaport comparison, without invented buying advice or an intimidating entry form.

Completed

  • Remove fabricated buyers, resale estimates, gross-profit totals and deal ratings from both API and interface.
  • Replace signed percentages with explicit above/below/at-reference language. Use red for above and blue for below, not a profit signal.
  • Show exact dollar arithmetic, reference source, list date, fetch time and cache status in offer details.
  • Clearly label other fancy shapes as Pear-list proxies and warn about old list dates.
  • Consolidate the wide sheet into a six-column desktop table; switch to cards below the desktop breakpoint.
  • Add a restrained white/slate/teal design, consistent spacing, typography, accessible controls and a matching icon.
  • Preserve the five prefilled examples and explicitly label their supplier names and asking prices as illustrative.
  • Keep inline asking-price editing; provide a guided details panel for all other inputs.
  • Add search, filters, sorting, add/remove, reset confirmation and browser-local offer persistence.
  • Validate numeric ranges and grades, reject stale async responses, cancel removed rows and clear outdated results on failure.
  • Preserve saved credentials and verify a real Rapaport price lookup without exposing secret values.
  • Require owner sign-in for live prices; leave only synthetic demo pricing public.
  • Run 29 domain/API checks and 14 React component/state checks.
  • Review isolated layout snapshots at 1440, 1024, 768, 390 and 320 pixels; no horizontal document overflow found.

Release procedure

Merge the reviewed development branch into main, verify the main HTML and frontend-module responses, verify guest demo access and denied unauthenticated live access, then inspect runtime logs.

Deliberately not claimed

A below-list offer is not necessarily profitable. Actual buyer matching and margin forecasts need real contacts, transactions and costs. The prototype does not evaluate cut, fluorescence or grading quality. Cross-device storage and imports are not implemented. Interactive OAuth completion must be verified in the owner's browser; automated checks verify the unauthenticated gate, not a completed login.