Linear App Architecture Deconstruction
Design reference for Mission Control UI redesign. All observations from hands-on exploration of Linear's web app (desktop) on April 2, 2026, supplemented by Linear's docs and changelog.
1. Information Architecture
Linear organizes everything into a clear three-level hierarchy:
Workspace
└─ Team (e.g., "Peteos")
├─ Issues (the atomic unit)
├─ Projects (groups of issues with a goal)
└─ Views (saved filters/groupings)Key insight for MC: We have one "team" (Pete/Vinny/David) and no need for the workspace/team layer. Our hierarchy is simpler:
Mission Control
├─ Tasks (the atomic unit, equivalent to Linear's Issues)
└─ Views (Board view, List view, filtered views)Projects in Linear are first-class objects with their own health, status, lead, target date, and progress percentage. For MC, projects are just tags on tasks. This is intentional: we don't need the overhead until the task count justifies it.
2. Navigation Architecture
Sidebar (left panel, always visible on desktop)
[Workspace name] [Search] [+ New]
─────────────────────────────────
Inbox
My Issues
─────────────────────────────────
Workspace
Projects
Views
[More]
─────────────────────────────────
Your Teams
Peteos ▼
Issues (current view indicator)
Projects
Views
─────────────────────────────────
Try ▼
Import issues
Invite people
Connect GitHubObservations:
- Sidebar is collapsible but always present on desktop
- Primary actions (Search, New Issue) are pinned at top
- "My Issues" is a first-class nav item, not a filter
- Teams section is expandable with sub-nav
- Active view gets a highlight/bold treatment
For MC: Our sidebar can be much simpler:
Mission Control
─────────────────────
Tasks (Board | List toggle)
Artifacts
─────────────────────
[Automation] (future)
[Settings] (future)Top bar (within content area)
Linear uses a horizontal tab bar at the top of the issues view:
[All Issues] [Active] [Backlog] [⚙] [Filter] [Display] [Layout]- All Issues / Active / Backlog are pre-built view tabs
- ⚙ opens view settings
- Filter opens a filter builder (status, assignee, priority, label, project)
- Display controls which properties show on cards/rows
- Layout toggles between list and board view (two icon buttons)
For MC: Keep the layout toggle (board vs list). Skip filter builder for now. The pre-built tabs map to our columns, which serve the same purpose visually.
3. Board View (Kanban)
Column anatomy
○ Todo 4 ··· +
┌─────────────────┐
│ PET-1 │
│ ○ Get familiar │
│ ··· │
│ Created Apr 2 │
├─────────────────┤
│ PET-2 │
│ ○ Set up teams │
│ ··· │
│ Created Apr 2 │
└─────────────────┘Column header: Status icon (colored circle) + status name + issue count + overflow menu (···) + add button (+)
Card anatomy:
- Issue ID (light gray, e.g., PET-1)
- Status circle icon (matches column color)
- Title (bold, primary text)
- Priority icon (dots pattern for No Priority, bars for set priority)
- Created date (light gray, bottom)
- Assignee avatar would appear top-right if assigned
What's NOT on the card:
- No description preview
- No labels/tags
- No project indicator
- No subtask count
Cards are extremely minimal. The philosophy is: scan titles fast, click for detail.
Hidden columns
Empty columns are collapsed into a "Hidden columns" panel on the right:
▼ Hidden columns
○ Backlog 0
◐ In Progress 0
● Done 0
⊘ Cancelled 0
⊘ Duplicate 0Each shows status icon + name + count. Click to expand.
For MC: Good pattern. If Needs Review or Done are empty, collapse them to save space.
4. List View
Row anatomy (from board view observation, list is similar)
Linear's list view uses a grouped layout:
○ Todo 4 ··· +
─────────────────────────────────────────────────
··· PET-1 ○ Get familiar with Linear Apr 2 👤
··· PET-2 ○ Set up your teams Apr 2 👤
··· PET-3 ○ Connect your tools Apr 2 👤
··· PET-4 ○ Import your data Apr 2 👤Row elements (left to right):
- Context menu (··· on hover)
- Issue ID (gray)
- Status icon (colored circle)
- Title (primary text, takes most width)
- Date (far right, gray)
- Assignee avatar (far right)
- Priority icon (between title and date, if set)
Display properties are configurable via the Display Options panel (docs):
- Toggle on/off: Issue ID, Priority, Status, Labels, Project, Cycle,
Created, Updated, Assignee, Estimate
- Each property appears as an icon or compact text on the row
Grouping options: Status (default), Assignee, Project, Priority, Cycle, or no grouping
Group headers are sticky when scrolling (critical for long lists).
For MC: The row should be: status icon + title + activity tag + assignee avatar + blocked indicator. Keep it to one line. Priority icon if set.
5. Issue Detail View
Clicking an issue opens a full-page detail view (not a modal or side panel on desktop):
┌──────────────────────────────────────────────────────────┐
│ < Back PET-1 Get familiar with Linear ☆ ··· │
├──────────────────────────────┬───────────────────────────┤
│ │ Properties ▼ │
│ Get familiar with Linear │ ○ Todo │
│ │ ··· Set priority │
│ Welcome to Linear! │ 👤 Assign │
│ │ │
│ Watch an introductory │ Labels ▼ │
│ video and access a list │ ⊕ Add label │
│ of resources below. │ │
│ │ Project ▼ │
│ [video embed] │ ⊕ Add to project │
│ │ │
│ │ │
└──────────────────────────────┴───────────────────────────┘Left panel (60-70% width):
- Title (large, editable inline)
- Description (markdown, full-width, editable)
- Embedded content (videos, images)
- Activity/comments below description
Right sidebar (30-40% width):
- Properties section: Status, Priority, Assignee (each clickable to change)
- Labels section: tag pills, add button
- Project section: link to project, add button
- Additional metadata: Due date, Cycle, Estimate
- Top-right icons: Activity log, copy link, share, settings
Key pattern: Properties are compact vertical list with icon + value. Click any to open a dropdown/selector inline. No save button; changes are instant.
For MC task detail: Same split layout. Left: title + description (markdown). Right: status selector, assignee selector, priority, tags, blocked toggle, created/updated dates. Changes save instantly on selection.
6. Issue Creation Modal
┌───────────────────────────────────────────────────┐
│ 🟥 PET ▸ New issue □ ✕ │
│ │
│ Issue title │
│ Add description... │
│ │
│ ○ Backlog ··· Priority 👤 Assignee │
│ ⊕ Project 🏷 Labels ··· │
│ │
│ □ Create more [Create issue] │
└───────────────────────────────────────────────────┘Observations:
- Modal, not full page
- Title is the only required field
- Bottom bar: status selector + metadata pills (all optional, inline)
- "Create more" checkbox for rapid entry
- Attachment button (paperclip) on left of bottom bar
- Keyboard shortcut:
Cfrom any view - Expand button (□) to go full-screen for longer descriptions
For MC: Our creation is primarily chat-based ("track this:"), but the web form should match this pattern: title field, optional description, metadata bar at bottom with status/assignee/priority/tags. Single "Create" button.
7. Projects View
Projects
[All projects] [⚙] [Filter] [Display] [Layout]
Name Health Priority Lead Target date Status
─────────────────────────────────────────────────────────────────────
⊕ UI Sandbox ○ No updates ··· 👤 📅 ○ 0%Row elements:
- Icon + Name
- Health indicator (No updates / On track / At risk / Off track)
- Priority dots
- Lead avatar
- Target date
- Status percentage (completion)
Project detail page includes: description/brief, linked issues, milestones, documents, activity.
For MC: We don't need a Projects view. Projects are tags on tasks. But the health/status pattern is interesting for future: a tag summary could show "job-search: 3 tasks, 1 needs review."
8. Visual Language
Status indicators (colored circles)
- Backlog: Gray dotted circle (○ with dots)
- Todo: Gray empty circle (○)
- In Progress: Yellow/amber half-filled circle (◐)
- Done: Purple/blue filled circle with check (●✓)
- Cancelled: Gray circle with X (⊘)
Priority indicators
- No Priority: Three gray dots (···)
- Urgent: Red filled exclamation
- High: Orange three bars
- Medium: Yellow two bars
- Low: Blue one bar
Color philosophy
From Linear's UI redesign post:
- Use LCH color space for perceptually uniform colors
- Minimize chrome color; let status colors be the primary visual signal
- Dark-on-light for text, subtle gray for secondary info
- Team/project gets an accent color (the red square for Peteos)
Typography
- Inter Display for headings
- Inter for body text
- Monospace for issue IDs
- Font weight hierarchy: bold titles, regular body, light metadata
For MC: Adopt the icon-based status indicator system. Use colored circles for status, priority bars, and avatar initials for assignee. This is the single biggest density improvement over text labels.
9. Interaction Patterns
Keyboard shortcuts (observed)
C- Create new issue/- SearchEscape- Close modal/panel- Arrow keys - Navigate between issues
Drag and drop
- Board view: drag cards between columns
- List view: drag to reorder within groups
Inline editing
- Click any property to change it (no edit mode toggle)
- Title is editable inline on the detail page
- Description supports full markdown editing
Context menus
- Three-dot menu (···) on every card/row
- Right-click support
For MC: Keyboard shortcuts are a nice-to-have. The critical interaction patterns are: drag between columns (already have), click card to open detail, click property to change it inline.
10. What We Should Borrow
Must-have (directly applicable)
- Icon-based status indicators instead of text labels on cards
- Compact card anatomy: ID + status icon + title + priority icon + assignee avatar. One line where possible.
- Layout toggle in the header: board icon vs list icon
- Group-by-status list view with sticky headers for mobile/narrow screens
- Detail view with left/right split: content left, properties right
- Inline property editing on the detail view (click to change, no save button)
- Hidden/collapsed empty columns on the board
- "Create more" pattern for rapid task entry from the web UI
Should-have (worth implementing soon)
- "My Issues" as a first-class view (filter to assignee=Pete)
- Display options toggle for which properties show on cards
- Keyboard shortcut for new task (C key)
Skip for now
- Teams and workspace layers
- Cycles/sprints
- Custom views and saved filters
- Estimates
- Inbox with snooze/archive
- Project health tracking
- Activity feed / comments
- GitHub integration
- Notification setup
11. Recommended MC Implementation Priority
Phase 1: Desktop board polish (current scope)
- Add icon-based status indicators (colored circles)
- Compact card design: one-line title + icon metadata
- Add list view with group-by-status headers
- Layout toggle in header
- Collapsible empty columns
Phase 2: Detail view upgrade
- Split layout: content left, properties right
- Inline property selectors (click status circle to change)
- Markdown rendering for descriptions
Phase 3: Mobile optimization
- List view as default on narrow screens
- Sticky group headers
- Tap-to-open detail sheet (bottom drawer, not full page nav)
- Bottom toolbar: List / Board / Mine / + New
Phase 4: Power features
- Keyboard shortcuts
- "My tasks" filter view
- Display options panel
- Rapid entry mode