KwadMarket Docs
Product Roadmap

Drone Builds

Composite products — sell complete drones with visible component lists

Differentiator #4

ProductComponent (parent/component relation) already exists in the schema. An FPV quad listing that auto-displays its known components (FC, ESC, motors, VTX) is huge for buyers evaluating used builds — see the roadmap priorities.

Concept

A "drone build" is a composite product made of individual parts. This enables:

  1. Selling complete drones — buyers see exactly what parts are inside
  2. Price comparison — sum of individual part prices vs build price
  3. Build discovery — "show me all 5-inch freestyle builds under €500"
  4. Part compatibility — future feature

A typical FPV build: Frame ×1 (size defines the build: 3"/5"/7") · Motors ×4 (must match frame size) · FC ×1 · ESC ×1 (4-in-1 or individual) · VTX ×1 · Camera ×1 · Propellers ×4+ · Receiver ×1 · Antenna ×1–2 · Battery (optional, often sold separately).

Data model enhancement

The existing table needs a quantity field:

model ProductComponent {
  id          Int     @id @default(autoincrement())
  parentId    Int
  componentId Int
  quantity    Int     @default(1)  // e.g. 4 motors
  parent      Product @relation("parent")
  component   Product @relation("component")

  @@unique([parentId, componentId])
}

No component-type field needed — derive it from the component product's category.

Build page UI

┌────────────────────────────────────────────┐
│  5" Freestyle Build — Custom Nazgul        │
│  €650  ·  Like New  ·  Verified            │
│                                            │
│  Components:                               │
│  ┌──────────────────────────────────────┐  │
│  │ Frame   │ iFlight Nazgul5 V3    │ €35│  │
│  │ Motors  │ EMAX Eco II 2306   ×4 │ €48│  │
│  │ FC      │ SpeedyBee F405 V4     │ €32│  │
│  │ ESC     │ SpeedyBee 55A 4in1    │ €38│  │
│  │ VTX     │ Rush Tank Solo        │ €28│  │
│  │ Camera  │ Caddx Ratel 2         │ €22│  │
│  │ RX      │ ELRS EP2              │ €12│  │
│  └──────────────────────────────────────┘  │
│  Parts total: €715  ·  Build price: €650   │
│  You save: €65 (9%)                        │
└────────────────────────────────────────────┘

Tasks

V1 — build display:

  • quantity field on ProductComponent; endpoint to query a product's build components
  • Component table with prices on the deal page; "parts total vs build price" comparison
  • Deal form: mark a deal as "complete build" and link components (component picker = same UX as the deal product picker)
  • "Complete builds" filter on the browse page

V2 — build configurator:

  • Step-by-step configurator (frame → motors → FC → …) with compatibility suggestions (frame size → motor size → prop size)
  • Save/share custom builds; "Build this drone" → links to individual parts in shops

Decision: builds come from the catalog

Sellers search and add existing catalog products as components (same UX as the deal product picker). If a part is missing, they use "Create new product". This keeps data clean and enables the price comparison.

On this page