Thread System

Understanding the core data model.

In Loom, there is no distinction between a "Card" on a roadmap and a "Discussion". They are the same object, viewed through a different lens.

The Thread

The underlying data structure. It contains the author, the initial post content, and a linear list of replies (comments).

The Feature

The roadmap representation. We decorate the Thread with metadata like status, eta, and votes to turn it into a trackable item.

Lifecycle

How a thread moves through the system:

Drafting & Discussion

A user creates a thread. At this stage, it's just a conversation. Other users can upvote it if they want it.

Commitment (Planned)

A Product Manager reviews the thread. If valid, they change the status to Planned. This officially puts it on the Roadmap view.

Execution (In Progress)

Engineers pick up the work. The status changes to In Progress. The original thread remains open for implementation details or clarification questions.

Delivery (Shipped)

The feature is live. The thread is marked Shipped. It now effectively serves as a changelog entry.

Extended Data

Loom uses a flexible extendedData JSON field on each thread to store roadmap-specific information without modifying the core schema.

{
  "status": "planned",
  "votes": 42,
  "impact_score": 8.5,
  "tags": ["frontend", "performance"]
}