Standard entities, ready out of the box.
Every Koddex workspace ships with a hardware-native schema: requirements, components, tests, baselines, change requests. Use them as-is, extend them, or model your own.
Requirement
Standard
- TitleString
- PriorityString
- RationaleString
- Verification methodString
- Source documentString
+ 11 more attributes
Component
Standard
- Part numberString
- DescriptionString
- SupplierString
- Lifecycle stateString
- SubsystemString
+ 14 more attributes
Test
Standard
- Test IDString
- ProcedureString
- Pass criteriaString
- Linked requirementsString
- EquipmentString
+ 8 more attributes
Baseline
Custom
- RevisionString
- Effective dateString
- Frozen entitiesString
- ApproverString
- HashString
+ 6 more attributes
Engineering data, structured and computable.
Records you can query, link, and roll up — not files in a folder.
| Item | Type | Subsystem | Status | Revision | Source |
|---|---|---|---|---|---|
| LiFePO4 Battery Pack 48V / 20Ah | Battery | Powertrain | Released | v2.1 | ACME Cells |
| Motor Controller PCB | Electronic | Control | In Design | v0.3 | Internal |
| BLDC Gear Motor 750W | Actuator | Drive | Released | v1.4 | Maxon |
| Aluminum Chassis Plate | Mechanical | Structural | Released | v3.0 | Internal |
| IMU Sensor Array | Sensor | Perception | In Test | v1.1 | Bosch |
Model what makes your product yours.
Add the entities that match your reality. From firmware modules to ISO 14971 risk items, every custom type is a first-class citizen: typed, traceable, and connected to the rest of the model.
Firmware module
247 records
Calibration procedure
89 records
Risk item (ISO 14971)
1,205 records
Fine-tune every property.
Pick the right type for each attribute. Reference other entities. Compute values with formulas. Lock fields under baseline.
Basic
Relational
Computed
Iterate faster than ever.
Sort, filter, and roll up millions of engineering records in milliseconds.
Defined as code, versioned with your engineering.
Every entity is a typed schema. Export it, fork it, evolve it under version control alongside your firmware and your CAD.
import { defineEntity, p } from "@koddex/metamodel";
export const Requirement = defineEntity({
name: "Requirement",
description: "A functional or non-functional need.",
properties: {
title: p.text({ required: true, maxLength: 200 }),
priority: p.select(["Must", "Should", "Could"]),
rationale: p.text({ rich: true }),
verification: p.select(["Inspection", "Analysis", "Test", "Demo"]),
source: p.reference({ to: "SourceDocument" }),
coverage: p.formula(`count(self.verifiedBy) > 0`),
locked: p.boolean({ frozenUnder: "Baseline" }),
},
relations: {
verifiedBy: { to: "Test", many: true, inverse: "verifies" },
impactedBy: { to: "ChangeRequest", many: true },
},
});
View your data the way it makes sense.
One model, many lenses. Switch between views without reshaping the underlying data.
Tree
BOM hierarchies and system decomposition
Table
Spreadsheet-style bulk editing
Graph
Impact and dependency analysis
Timeline
Baselines, revisions, releases
Matrix
Requirements coverage and traceability
Diagram
Visual metamodel of your product
Kanban
Change requests and review queues
Gallery
CAD thumbnails and DHF previews
Insights from your engineering graph.
Compute the metrics that matter — directly on your model, without rebuilding data pipelines.
Requirements coverage
Track verification status over time
Component reuse rate
Compare across programs
Defect density
By subsystem, by supplier
Baseline timeline
Release history and milestones
Change impact
Magnitude of downstream effects
Test pass rate
Verification campaigns at a glance
Compliance heatmap
ISO 13485, MDR, AS9100 readiness
Subsystem health
Aggregate KPI scoring