BOM V2

bySurya Prakash Guna Sekhar

MateFinder v2 Build Prompt for 8080.ai — Fresh Project Paste everything below the line as the project prompt for a NEW project. This version bakes in every correction from the first attempt so the requirements, flows, and pages generate correctly on the first pass. Build a production-grade internal web application called BOM Lookup for a wire harness manufacturer. Its purpose: when an engineer or estimator enters a connector or housing part number, the app instantly returns the complete mating system for that part — the mating connector, compatible terminals (filtered by wire gauge), seals/cavity plugs, wedgelock/secondary lock, and recommended crimp tooling — each with direct purchase links to distributors, sorted with the cheapest in-stock option first. This replaces manually Googling mating parts one at a time. Personas — EXACTLY TWO. Do not create any others. User: engineer/estimator. Searches parts, views results, exports BOMs. Admin: everything User does, plus manages the database. Do NOT create personas such as Inventory Manager, Operations Manager, Procurement Specialist, or Data Analyst. Do not create user flows or pages for any persona other than User and Admin. Pages — EXACTLY THESE EIGHT. Do not create any others. Landing Login Search Results Admin Dashboard Admin Parts Admin Flags Admin Reports There is no user-facing Dashboard page, no SearchLog page, no standalone Parts page, no MatingMap page, and no DistributorOffers page. Search-log reporting lives inside Admin Reports. The mating map is a database table, not a page or visual diagram tool. Distributor offers render inside the Results page. Core user flow User types a manufacturer part number (e.g. "DT06-12S") into a single prominent search box. Search must be fuzzy/typo-tolerant, matching part number, series name, and aliases. User optionally sets: required quantity (default 100) and wire gauge (AWG). Results page shows the queried part pinned at top (qty and wire gauge still editable), then grouped sections in this order: Mating Connector, Terminals (filtered by wire gauge if given), Seals & Cavity Plugs, Wedgelock / Secondary Lock, Crimp Tooling. Every part in every section shows: manufacturer, part number, short description, and distributor offers — distributor name, unit price at the entered quantity, stock, and a direct product link opening in a new tab — sorted cheapest-first, out-of-stock offers greyed at the bottom of each list. Per-part checkboxes and a "Copy BOM" button exporting selected parts as CSV and tab-separated clipboard text: part number, manufacturer, description, qty, best unit price, best distributor, link. A failed search shows "Not in our database yet" with a one-click "Request this part" action that logs the query for admins. Data model (Postgres) parts: id, manufacturer, part_number (unique, indexed), description, category (housing_plug, housing_receptacle, terminal, seal, wedgelock, tool, other), series, positions, gender, wire_gauge_min, wire_gauge_max, datasheet_url, aliases (text array). mating_map: id, part_id, related_part_id, relation_type (mates_with, uses_terminal, uses_seal, uses_wedgelock, crimped_by), notes, verified (bool), created_by, created_at. This is a relational table that search traverses to assemble the grouped results. It is not a visual diagramming feature. distributor_offers (cache): part_id, distributor, sku, product_url, currency, price_breaks (JSONB), stock, fetched_at. search_log: query, matched_part_id (nullable), user_id, created_at. Used only for the Admin Reports unmatched-searches report. Distributor pricing integration Integrate the Nexar (Octopart) GraphQL API for live distributor offers (price breaks, stock, product URLs) by manufacturer part number. API token via environment variable, integration behind a clean service interface. Cache offers in distributor_offers for 24 hours; show "prices as of <time>" with a manual refresh button. Fallback mode (the app must be fully usable with zero API keys configured): without a Nexar token, each part renders working distributor search links built from the part number — Digi-Key (https://www.digikey.com/en/products/result?keywords={PN}), Mouser (https://www.mouser.com/c/?q={PN}), Newark (https://www.newark.com/search?st={PN}), Arrow (https://www.arrow.com/en/products/search?q={PN}), Waytek (https://www.waytekwire.com/search/?query={PN}) — labeled "Search on <distributor>" with no price shown. Admin area Admin Parts: CRUD for parts and mating relationships, relation picker with autocomplete, CSV bulk import for both parts and relations with downloadable templates. Admin Flags: any user can flag an incorrect mating suggestion; flags appear in a review queue with a Verify action. Admin-verified relations show a "Verified" badge in results. Admin Reports: unmatched-searches report from search_log (most-searched part numbers returning no results). This is a simple report, not an analytics suite. Admin Dashboard: simple overview (part count, relation count, pending flags, recent unmatched searches). No invented analytics, charts of user activity, or trend visualizations. Seed data (required — the app must demo with real content on first boot) Seed example parts and mating relations, all with verified=false, structured in a data file so more families can be added: Deutsch DT: DT06-2S…DT06-12S plugs mating DT04-2P…DT04-12P receptacles; size-16 terminals 0462-201-16141 / 0460-202-16141 (14–16 AWG); W2S–W12S / W2P–W12P wedgelocks; HDT-48-00 crimp tool. Deutsch DTM: DTM06-xS plugs, DTM04-xP receptacles, size-20 terminals 0462-201-20141 / 0460-202-20141, WM-xS / WM-xP wedgelocks. Molex MX150: example sealed housings with 33012-series terminals. TE AMPSEAL 16: example plug/cap pairs with appropriate terminals. Visual design (exact values — do not substitute) Background #FAFAF6, surface #F2F2F2, text #1B2A41 (dark navy), muted text #7F8C8D, border #D5D8DC, accent #B06A2A (copper) with #8C4E1A for hover/darker states. Copper means #B06A2A — never bright orange ( #FF6600). Part numbers and prices in a monospace font everywhere, including input placeholder text. Landing page structure, top to bottom: (1) nav — Home, Search, Sign In only; admin pages appear in navigation only after admin sign-in; (2) hero headline "Find the complete mating system" with subline and a dominant search box (placeholder: "Enter part number (e.g. DT04-2P)"); (3) a small static illustration of housing–mating–terminals; (4) a features section titled "Everything you need in one search" with four cards: Smart Search (fuzzy matching finds your connector even with partial or variant part numbers), Wire Gauge Filter (filter compatible terminals by wire gauge), Price Comparison (distributor offers sorted by cheapest in-stock first with direct purchase links), Export BOM (copy the complete bill of materials with one click); (5) CTA "Ready to find your parts?" with text "Sign in to search the parts database, or manage it as an admin." and Try Search / Sign In buttons; (6) footer with Product (Home, Search Parts) and Legal columns — admin links in the footer only for signed-in admins. Motion: minimal and functional. No looping hero animations or self-assembling component scenes. Do not add saved searches, BOM history, or any feature not listed in this prompt. Tech and quality React frontend, FastAPI backend, Postgres with Alembic migrations. RESTful API. Unit tests for mating-system assembly (given a part id, return correct grouped related parts) and offer sorting (cheapest in-stock first, out-of-stock last). All secrets via environment variables. README covering local run, Nexar token configuration, CSV bulk import, and template formats. Explicitly out of scope No purchasing/checkout in-app (links out only). No scraping of distributor sites. No public access — internal users only. No analytics dashboards. No saved searches or history features.

LandingResultsAdmin PartsAdmin ReportsAdmin DashboardAdmin FlagsLoginSearch
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

Gathering your amazing requirements

  • Tech Lead Agent
  • System Requirements Agent
  • User Flow Planner
  • Project Manager
  • System Architect
  • Design Agent