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.
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.