Skip to main content

Introduction to Cascadia PLM

Cascadia is an open-source Product Lifecycle Management (PLM) system for hardware companies. It helps engineering teams manage parts, documents, and change orders with full revision history and traceability.

Cascadia Dashboard The Cascadia dashboard showing parts, documents, and change order statistics.

What You Can Do

With Cascadia PLM, you can:

  • Manage Parts & BOMs - Create parts, build assemblies, and track bill of materials with multi-level hierarchy
  • Control Documents - Store technical documents with check-in/check-out and version control
  • Track Engineering Changes - Use ECOs (Engineering Change Orders) with Git-style branching to manage changes without blocking other work
  • Capture Requirements - Link requirements to parts for full traceability
  • Coordinate Work - Assign tasks and track progress with Kanban boards
  • Visualize Relationships - See BOM trees and relationship graphs at a glance

Who Is This For?

Cascadia is designed for:

  • Hardware startups who need PLM but can't afford enterprise solutions
  • Engineering teams who want version control that works like Git
  • Companies with developers who prefer code-based configuration over UI wizards
  • Organizations in aerospace, medical devices, electronics, or manufacturing

Key Differentiator: ECO-as-Branch

Traditional PLM systems block parts while changes are in progress. Cascadia uses a Git-style branching model where:

  • Multiple ECOs can work on the same part simultaneously
  • Changes are isolated until approved and released
  • Revision letters are assigned automatically on merge
  • Full history is preserved with merge commits
Traditional PLM:     PN-001: A → B → C → D (linear, blocking)

Cascadia: main: [A] ────────── [B] ────── [C]
│ ↑ ↑
eco/ECO-1: └──[work]─────┘ │
eco/ECO-2: ──────────[work]─────────┘

Built-In Item Types

Item TypeDescription
PartManufacturing parts with materials, make/buy, cost, and BOM relationships
DocumentVersion-controlled files with check-in/check-out
Change OrderECO/ECN/MCO workflows for engineering changes
RequirementRequirements with priority, acceptance criteria, and traceability
TaskWork items with assignees, due dates, and Kanban support

Organizational Structure

Cascadia organizes data in a hierarchy:

  • Programs - Projects or product lines (also serve as permission boundaries)
  • Designs - Version containers with branches and commits
  • Items - Parts, documents, and other engineering data

Why Cascadia?

Traditional PLMCascadia PLM
Configure through UI wizardsDefine in TypeScript with full IDE support
Export/import XML for version controlGit-native configuration with code review
Proprietary scripting languagesStandard TypeScript/JavaScript ecosystem
Vendor lock-in with licensing feesOpen source (AGPL license)
Black-box deploymentsDocker/Kubernetes with full control

Technology Stack

For developers interested in the technical details:

LayerTechnology
FrameworkTanStack Start (full-stack TypeScript)
DatabasePostgreSQL with Drizzle ORM
UITailwind CSS + Radix UI components
AuthOslo.js + Arctic (OAuth)

See the Architecture Overview for more details.

Current Status

Pre-Release Software

Cascadia is in active development (Late Phase 2 / Early Phase 3). Core features are implemented and functional, but the system is not yet recommended for production use without evaluation.

Next Steps