plasma-copper is the working project name for iMach, an intelligent wholesale buying and selling assistant. Its product intent is to connect wholesale buyers with suitable suppliers and to help sellers find relevant customers — going beyond a listing site or a seller directory by relating product information, buyer needs, prices, and supply terms so that users can find a better supplier, compare offers, and form more effective commercial relationships.
The audience spans small businesses through wholesalers, manufacturers, distributors, shops, trading companies, and organizational buyers. The product focus is wholesale trade. Some businesses are simultaneously buyer and seller, so a user may hold a different role across different goods.
This document is the current, source-bounded specification for the product. It preserves the accepted capabilities, the explicit exclusions of the initial model, and the internationalization direction, and it defines the information architecture, functional requirements, personas, flows, and design direction needed to build the current product.
plasma-copper is a first-party web application with an application-owned identity layer. Anonymous visitors can reach the public entry surface and a public catalog; authenticated users reach the working surfaces for buying, selling, and both.
Current accepted behavior covers:
Explicit exclusions in the initial model: plasma-copper is not required to manage payment, final order placement, warehousing, or shipping of goods. Its main purpose is to create commercial connection, not to manage every stage of a transaction. It must not necessarily become a comprehensive accounting, warehousing, or CRM software; its identity is helping find the right commercial counterparty, presenting products, comparing terms, and creating effective connection.
plasma-copper is delivered as a first-party application with its own identity and durable state. Buyers and sellers establish their own access through self-service enrollment and return through verification; the public entry and a shared public catalog remain reachable without access, while the working surfaces that hold a user's lists, catalogs, requests, offers, and conversations require an established identity so that this durable, actor-specific state stays bound to the correct participant.
The product deliberately stops at commercial connection. Payment handling, final order placement, warehousing, and shipping are outside the current delivery boundary and are not represented as product capabilities. Likewise, comprehensive accounting, inventory management, and CRM are not part of the product's identity.
Internationalization is a current product direction: language, currency, unit, country/city, and local product attributes are supported, and the public catalog is shareable internationally. However, the suppliers and demand shown for any country must reflect that market's real information.
Future-horizon items — intelligent matching suggestions based on product type, specifications, brand, required volume, price, minimum order, geographic location, delivery terms, and information freshness; and potential revenue models such as targeted advertising, featuring catalogs and products, customer-referral services, and seller marketing tools — are described in the future section and are not part of current page acceptance.
Not applicable. No reference directive in this request declares a content_source, so no verified factual inventory is reproduced.
The following pages are the current information architecture. Each page is listed exactly once.
Each requirement is a distinct story point with provenance and observable acceptance.
FR-1 — Wholesale connection assistant (explicit). As a wholesale market participant, I should use a product that connects buyers with suitable suppliers and sellers with relevant customers, relating product information, buyer needs, prices, and supply terms rather than acting as a listing site or seller directory, so that I can find a better supplier, compare offers, and form a more effective commercial relationship. Acceptance: the product presents related product, need, price, and supply-term information together; it is not limited to listings or a seller directory.
FR-2 — Purchase lists (explicit). As a wholesale buyer, I should create and manage purchase lists of needed and recurring goods, so that my requirements persist and can be acted on. Acceptance: I can create a list, add/edit/remove goods, record quantity and recurring need, and see the list again on return.
FR-3 — Catalog search and saving (explicit). As a wholesale buyer, I should search and view seller catalogs and save a catalog or follow a product's price, so that I can keep track of relevant suppliers and goods. Acceptance: search returns seller catalogs; saving a catalog and following a product persist and are visible on return.
FR-4 — Up-to-date price viewing and comparison (explicit). As a wholesale buyer, I should view and compare up-to-date supplier prices, so that I can judge current market terms. Acceptance: prices for a good are shown across suppliers with their confirmation status, and unconfirmed price is not presented as certain.
FR-5 — Quote request submission (explicit). As a wholesale buyer, I should submit a quote request for one or several goods, so that selected or relevant sellers can respond. Acceptance: I can specify one or several goods with required quantity, choose selected suppliers or relevant sellers, and send the request; the request and its status are visible afterward.
FR-6 — Offer receipt and comparison (explicit). As a wholesale buyer, I should receive and compare sellers' offers, so that I can evaluate price and supply terms side by side. Acceptance: offers are listed against the originating request and comparable across price and supply terms, with confirmation status shown.
FR-7 — Finding new suppliers and direct contact (explicit). As a wholesale buyer, I should find new suppliers and contact them directly, so that I can pursue a commercial relationship. Acceptance: I can discover suppliers I have not previously engaged and open direct communication with them.
FR-8 — Supply board (explicit). As a wholesale buyer, I should use a supply board that shows the suppliers and supply terms for a good, so that I can examine several sellers' offers by price, brand, specifications, minimum order, stock, distance, shipping terms, and payment terms. Acceptance: the supply board presents all listed dimensions per offer; it conveys that a lower price is not always the best option and that seller credibility, quality, and delivery terms matter.
FR-9 — Seller digital catalog (explicit). As a seller/supplier, I should build a digital business catalog and manage its products, so that my offering is presentable and maintainable. Acceptance: I can create a catalog, add/edit/remove products, and see the catalog and its products on return.
FR-10 — Structured product data (explicit). As a seller/supplier, I should record price, stock, brand, unit, packaging, minimum order, and product specifications, so that buyers can evaluate my offering. Acceptance: all listed fields are captured per product and displayed to buyers.
FR-11 — Category-appropriate product entry (explicit). As a seller/supplier, I should enter product information appropriate to the product's category, so that the recorded attributes match the good. Acceptance: the product form adapts its fields to the selected category.
FR-12 — Bulk import and reference catalog (explicit). As a seller/supplier, I should import products in bulk from Excel and add products by searching a reference catalog, so that managing many products is easier. Acceptance: an Excel upload imports products with per-row validation results; reference-catalog search adds a product with prefilled fields.
FR-13 — Catalog sharing (explicit). As a seller/supplier, I should share my catalog by direct link and through WhatsApp, social networks, or QR, so that I can present it to customers. Acceptance: a direct link and QR code are generated, and share paths for WhatsApp and social networks are available.
FR-14 — Public catalog opening and saving (explicit). As a customer, I should open the catalog and save it to access information and up-to-date prices, so that I can keep the supplier's current offering. Acceptance: the catalog is publicly openable; saving it persists the catalog for me and grants access to up-to-date information and prices.
FR-15 — Referring catalog on enrollment (explicit). As a customer who enrolls through a seller's catalog, I should have the referring catalog saved for me by default, so that the supplier I came from is retained. Acceptance: enrollment initiated from a catalog results in that catalog being saved for the new account by default.
FR-16 — Seller visibility into customers and savers (explicit). As a seller/supplier, I should see the customers and the people who saved my catalog or products, so that I know who engaged with my offering. Acceptance: the audience view lists customers and savers with what they saved.
FR-17 — Receiving relevant purchase requests (explicit). As a seller/supplier, I should receive purchase requests relevant to the goods I can offer, so that I can respond to real demand. Acceptance: requests relevant to my offered goods are surfaced with the requested goods and quantities.
FR-18 — Quoting in response to inquiries (explicit). As a seller/supplier, I should provide price and sales terms in response to inquiries, so that the buyer can evaluate my offer. Acceptance: a response with price and sales terms is submitted against the originating request and becomes visible to the buyer.
FR-19 — Promoting catalog and products (explicit). As a seller/supplier, I should promote my catalog and products to new buyers and use marketing and advertising tools to increase visibility, so that I reach more relevant customers. Acceptance: promotion of catalog/products can be configured and marketing/advertising tools are available, with current activity shown.
FR-20 — Quote-request flow (explicit). As a buyer and a seller together, we should complete the inquiry flow — buyer specifies one or several goods and required quantity, sends the request to selected suppliers or relevant sellers, sellers view the request and provide price and supply terms, the buyer reviews and compares offers, and the two parties then communicate directly and reach agreement — so that a commercial connection is formed. Acceptance: each step is observable in the product, and the final direct communication and agreement occur between the two parties.
FR-21 — Initial-model exclusions (explicit). As the product owner, I should keep the initial model free of payment management, final order placement, warehousing, and shipping, so that the product's purpose remains creating commercial connection rather than managing every stage of a transaction. Acceptance: no current page or flow performs payment management, final order placement, warehousing, or shipping.
FR-22 — Two-way discovery (explicit). As a seller/supplier, I should find potential buyers and requests relevant to my goods, so that discovery is not one-directional. Acceptance: a seller can surface potential buyers and relevant demand from their own goods.
FR-23 — Truthful suggestions and scores (explicit). As any user, I should see suggestions based on real information, with unconfirmed price or stock never presented as certain and every score or label such as "suitable suggestion" having a clear basis, so that I can trust what the product shows. Acceptance: confirmation status is visible wherever price or stock is shown; any score or label exposes its basis.
FR-24 — Promotional credit for referrals (explicit). As a seller/supplier, I should receive promotional credit for introducing new users, usable for targeted advertising or featuring my catalog, so that growth is rewarded. Acceptance: earned credit is visible and can be applied to targeted advertising or catalog featuring.
FR-25 — Internationalization (explicit). As a user in any market, I should use the product with multiple languages, currencies, units of measurement, country and city, and local product attributes, so that the product fits my market. Acceptance: language, currency, unit, country/city, and local product attributes can be set and are applied.
FR-26 — International catalog sharing with real market data (explicit). As a user, I should share the public catalog internationally while seeing each country's supply and demand based on that market's real information, so that cross-border sharing does not fabricate local supply or demand. Acceptance: the public catalog is shareable across markets; displayed supply and demand for a country reflect that market's real information.
FR-27 — Role duality (explicit). As a business that is both buyer and seller, I should hold a different role across different goods, so that I can buy some goods and sell others. Acceptance: the same account can act as buyer for some goods and seller for others, and can move between the two role contexts.
FR-28 — Self-service enrollment (required_inference). As a buyer, seller, or dual-role user, I should be able to begin using the product independently without an invitation or prior provisioning, so that an accepted journey is executable. Acceptance: an anonymous visitor can create an account and choose an initial role context; when arriving from a catalog, the referring catalog is saved by default.
FR-29 — Returning verification (required_inference). As a returning user, I should verify my identity to regain access to my durable data and communications, so that my lists, catalogs, requests, offers, and conversations remain bound to me. Acceptance: a returning user can verify identity and reach their previously created state.
FR-30 — Role and access matching before counterparty data (required_inference). As a user, I should have my role context and access matched before counterparty data is displayed or changed, so that each side sees and acts on its own side of a lifecycle. Acceptance: buyer-side and seller-side surfaces present the correct side's data and actions for the current role context.
FR-31 — Backend persistence of marketplace state (required_inference). As the product, I should persist catalogs, purchase lists, prices, requests, offers, and referral relationships, so that accepted journeys have durable state. Acceptance: created lists, catalogs, requests, offers, and referral associations survive and are retrievable.
FR-32 — Referring-catalog attribution (required_inference). As the product, I should attribute the referring catalog to an enrollment that came through a catalog, so that the default save and referral credit are correct. Acceptance: an enrollment from a catalog records the referring catalog, saves it for the new user, and is attributable for referral credit.
FR-33 — Confirmation-status and score-basis display (required_inference). As a user, I should see confirmation status and the basis of a suggestion before any price, stock, or score is treated as certain, so that the product never overstates unverified data. Acceptance: confirmation status appears with price and stock; score or label basis is inspectable.
Product context. A wholesale buyer — a small business, shop, trading company, or organizational buyer — who needs to source goods in wholesale quantities. Today this work is done through phone calls, WhatsApp, personal contacts, and internet search, and comparing sellers is time-consuming while price and stock information is not always current.
Primary goal. Find the right supplier for needed goods, compare price and supply terms, and obtain quotes from suitable sellers.
Distinct accepted responsibilities. Maintaining purchase lists of needed and recurring goods; searching and viewing seller catalogs; saving catalogs and following product prices; viewing and comparing up-to-date supplier prices; submitting quote requests for one or several goods; receiving and comparing seller offers; finding new suppliers and contacting them directly; using the supply board to examine several sellers' offers across price, brand, specifications, minimum order, stock, distance, shipping terms, and payment terms.
Relevant inputs and decisions. Which goods and quantities are needed; which suppliers to include in a request; how to weigh price against seller credibility, quality, and delivery terms, since a lower price is not always the best option; which offer to pursue.
Interactions with other accepted participants. The buyer sends requests to selected or relevant sellers, receives their offers, and then communicates directly with the chosen seller to reach agreement. The buyer also interacts with sellers' public catalogs as a visitor before saving them.
Observable success. The buyer has a maintained purchase list, has compared suppliers on the supply board, has received and compared offers, and has opened a direct conversation with a chosen seller.
Product context. A manufacturer, wholesaler, distributor, or trading company that needs effective, low-cost tools to present products, attract new customers, find wholesale buyers, receive purchase requests, and retain customers.
Primary goal. Present products through a digital catalog, be discovered by relevant buyers, and respond to real demand with price and sales terms.
Distinct accepted responsibilities. Building a digital business catalog and managing products; recording price, stock, brand, unit, packaging, minimum order, and specifications; entering product data appropriate to the category; importing products in bulk from Excel and adding products from a reference catalog; sharing the catalog by direct link, WhatsApp, social networks, or QR; seeing customers and savers of the catalog or products; receiving purchase requests relevant to offered goods; providing price and sales terms in response to inquiries; promoting the catalog and products and using marketing and advertising tools; finding potential buyers and relevant demand; earning and applying promotional credit for introducing new users.
Relevant inputs and decisions. Which products to publish and at what price, stock, and minimum order; which categories and attributes apply; which requests to answer and on what terms; how to spend promotional credit; how to present the catalog for sharing.
Interactions with other accepted participants. The seller receives requests from buyers, responds with price and sales terms, and then communicates directly with the buyer to reach agreement. The seller also sees the buyers and savers who engaged with the catalog, and can reach out to potential buyers.
Observable success. The catalog is published and shareable, relevant requests have been answered with price and terms, the audience of savers and customers is visible, and earned promotional credit is available for use.
Product context. A business that is simultaneously a buyer and a seller, holding a different role across different goods — for example, buying raw materials while selling finished goods.
Primary goal. Operate both sides of the marketplace from one account without confusing which role applies to which good.
Distinct accepted responsibilities. Maintaining purchase lists and submitting quote requests for the goods it buys; maintaining a catalog and answering purchase requests for the goods it sells; moving between the two role contexts; using the supply board and offers on the buying side and buyer requests and quote responses on the selling side.
Relevant inputs and decisions. Which goods belong to which role; when to switch context; how to keep buying and selling activity distinct.
Interactions with other accepted participants. As a buyer, it interacts with suppliers; as a seller, it interacts with buyers. It may in principle encounter the same counterparty on either side, and its role context determines which side of the lifecycle it sees.
Observable success. Both the buying and selling responsibilities are usable from one account, and the current role context is clear at all times.
The creative direction is authoritative for this section. The muse is Zaha Hadid, and the headline is "Fluid parametric grandeur for a B2B supply network." The direction translates into the following concrete tokens.
Mode. Dark mode as the primary and only required mode.
Colour tokens by role.
| Role | Hex | Use |
|---|---|---|
| Background | #0B0E12 | Deep charcoal-blue ground |
| Surface | #151A21 | Cards, panels, containers |
| Text | #F2F5F7 | Soft pearl white primary text |
| Primary | #C9A96E | Warm champagne-gold for key actions, active states, supplier trust signals |
| Accent | #00C2B8 | Precise teal for live data, price ticks, connection lines |
| Muted | #7A8592 | Cool grey for secondary data |
Proportions. 70% dark ground, 20% silver/charcoal surfaces, 8% champagne-gold, 2% teal accent.
Typography. Headings use Josefin Sans in light-to-regular weights with wide tracking at large sizes; title case for editorial headlines and all-caps for micro-labels. Headlines are set at 56px mobile to 128px desktop with tight leading and generous letter-spacing, feeling architectural rather than loud. Body uses Jost. The scale is a 1.25 modular scale: 128 / 80 / 48 / 28 / 18 / 16. Micro-labels use 12px all-caps with 0.12em tracking. Body text uses Jost 400 at 16–18px for readable Persian and Latin copy.
Shape language. Sweeping continuous curves; soft capsule and lens-like containers; curved section boundaries that flow into one another. Cards use asymmetric rounded corners (for example 32px top-left, 8px bottom-right) to suggest motion frozen in form. No hard 90-degree boxes; every container has at least one flowing edge. Thin luminous strokes (1px teal or champagne) trace connection lines between supplier and buyer nodes.
Layout. Asymmetric editorial grid with a dominant curved hero that bleeds off the right edge. Sections are separated by diagonal or curved flow lines rather than straight rules. The catalog and supply board use a modular but fluid grid where supplier cards are staggered in height, not a uniform grid of identical cards. Navigation is a slim vertical rail on desktop that curves into a bottom bar on mobile, with the active section highlighted by a champagne-gold arc.
Imagery style. Abstract 3D forms derived from the product's own data: curved ribbons representing supply chains, luminous node clusters for suppliers, and flowing particle fields for price movement. No stock photography of people shaking hands. Macro renders of engineered surfaces (brushed metal, glass, topographic lines) appear as section dividers. The catalog uses clean product silhouettes on dark grounds with a single champagne rim light.
Forbidden. Centered headline with subtext and a blue gradient button; uniform grid of identical hover-lift cards; blue-indigo primary colors on white or near-white backgrounds; Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins, or system-ui for headings or body; gradient-blob hero or abstract soft blobs without structure; stock photography of handshakes or generic office scenes; flat 2D illustration that ignores the muse's dimensional language; excessive bounce or playful springy motion that undermines commercial seriousness. The generic indigo/blue-on-white SaaS template is forbidden for this project.
Readable-content rule. Headlines, wordmarks, labels, numbers, cards' text, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Imagery, decoration, and motion may be cropped, bled off an edge, rotated, overlapped, or cut as the direction asks, as long as they cover no readable text or control. Moving and scrollable content may cross the viewport or container edge by design and is judged by whether it actually moves or scrolls and whether every item becomes fully readable as it passes. With prefers-reduced-motion, a usable static arrangement is provided: items wrap into rows or allow horizontal scrolling so each item can be brought fully into view.
The public entry is a full-bleed dark scene where a large 3D parametric ribbon sweeps from the lower-left to the upper-right, built from thin champagne and teal lines that connect glowing supplier nodes. The ribbon is the product's own metaphor made visible: a supply network in continuous motion rather than a static directory.
The headline — the product proposition that iMach connects wholesale buyers with suitable suppliers and helps sellers find relevant customers — is set in Josefin Sans light at 56px mobile to 128px desktop, placed asymmetrically in the upper-left quadrant, overlapping the ribbon's negative space. A single champagne-gold call-to-action button sits below the headline, pinned to the left edge of the type block, offering the accepted entry actions: begin as a buyer or seller, or return to an existing account. The background is a deep charcoal gradient from #0B0E12 to #151A21, with the 3D ribbon rendered in WebGL.
The concept recomposes only accepted content, states, and controls: the product proposition, the buyer/seller entry actions, the return action, and the public-catalog entry. It introduces no new behavior, page, or destination. There is no centered headline, no gradient blob, and no blue button.
Interaction Model: Animated Motion Tempo: cinematic Hero Dimensionality: webgl
Focal subject. A large 3D parametric ribbon sweeping from the lower-left to the upper-right, made of thin champagne and teal lines connecting glowing supplier nodes — the product's supply network rendered as a real-time object.
Input → transformation → outcome thesis. As the visitor arrives and scrolls, the ribbon's slow continuous orbit and the scroll-linked parallax between foreground supplier cards and background flow lines transform a static proposition into a sensed living network; the outcome is that the visitor perceives iMach as connected commercial infrastructure and reaches the accepted entry actions — begin as buyer or seller, or return.
Motion vocabulary. Slow continuous orbit of the 3D supply-network sculpture; scroll-linked parallax moving foreground supplier cards at a different rate than the background flow lines; price ticks counting up with a needle-sweep easing; hover on a supplier card gently arcing a connection line toward the buyer's list panel; section transitions using a diagonal flow line that sweeps across the viewport as the user scrolls, revealing the next section from behind it.
Composed first frame. The ribbon enters from the lower-left, its champagne and teal lines already connecting several glowing nodes; the headline sits in the upper-left quadrant overlapping the ribbon's negative space; the champagne-gold call-to-action is pinned to the left edge of the type block; the background is the deep charcoal gradient from #0B0E12 to #151A21.
Reduced-motion state. With prefers-reduced-motion, the orbit freezes and a static network diagram is shown; parallax and needle-sweep counting are disabled and values are shown at rest; the headline, call-to-action, and all readable text and controls remain whole and fully visible.
The hero dimensionality is webgl, so a real-time 3D hero is expected. The scene is one crafted object: a parametric ribbon of thin champagne and teal lines connecting a compact cluster of glowing supplier nodes, slowly orbiting in a deep charcoal space. The scene shows the product's defining state — a supply network connecting suppliers and buyers — and is built from the product's own data metaphor rather than a generic shape. It must not cover any readable text or control; the headline and call-to-action remain whole and unobstructed at 375px, 768px, and 1280px.
NFR-1 — Durable marketplace state (required_inference). Catalogs, purchase lists, prices, quote requests, offers, referral relationships, and conversations must persist so that accepted journeys have durable state. Rationale: accepted journeys create durable actor-specific state that must survive return visits.
NFR-2 — Truthful data presentation (explicit). Wherever price or stock is shown, its confirmation status must be visible, and no unconfirmed price or stock may be presented as certain; any score or label such as "suitable suggestion" must expose a clear basis. Rationale: explicit source constraint.
NFR-3 — Real market data per country (explicit). Displayed supply and demand for a country must reflect that market's real information. Rationale: explicit source constraint.
NFR-4 — Internationalization support (explicit). The product must support multiple languages, currencies, units of measurement, country and city, and local product attributes, and the public catalog must be internationally shareable. Rationale: explicit source constraint.
NFR-5 — Category-driven product schema (explicit). Product information entry must adapt to the product's category. Rationale: explicit source constraint.
NFR-6 — Access continuity (required_inference). Durable actor-specific state must remain bound to the correct participant, requiring identity establishment on first use and verification on return. Rationale: indispensable for the accepted durable-state journeys.
NFR-7 — Readable content at all viewports (direction). Headlines, labels, numbers, card text, and controls must remain whole and unobstructed at 375px, 768px, and 1280px, and a usable static arrangement must be provided under prefers-reduced-motion. Rationale: creative direction requirement.
NFR-8 — Motion accessibility (direction). All motion must respect prefers-reduced-motion by freezing the orbit and showing a static network diagram. Rationale: creative direction requirement.
webgl hero dimensionality.No source-specified technology was overridden; the stack above reflects the accepted delivery shape (first-party custom UI, application-owned identity, backend integration, durable state, Redis).
Assumptions.
[Assumption — required_inference] Buyers and sellers establish their own access through self-service enrollment and return through verification, because accepted journeys create durable actor-specific state that must remain bound to the correct participant.[Assumption — required_inference] The public entry and the public catalog are reachable without access, while working surfaces holding a user's lists, catalogs, requests, offers, and conversations require an established identity.[Assumption — required_inference] A user's role context (buyer, seller, or both) determines which side of a lifecycle is presented; this is role-context matching, not differentiated permission over shared state.[Assumption — required_inference] An enrollment initiated from a catalog records the referring catalog, saves it for the new user by default, and is attributable for referral credit.[Assumption — required_inference] Confirmation status and score basis are stored and displayed with price, stock, and any score or label.Constraints.
Future horizon (not current acceptance).
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!