Every issue tracker has the same feature list. Issues, boards, cycles, integrations. If features were the whole story, they would all feel the same to use, and anyone who has switched trackers knows they don’t. The difference sits in the details: how fast a view opens, how little a screen shows, how naturally the keyboard carries you through a day of work.
Those details come from design decisions, and they compound. A tracker is open all day, so a hundred milliseconds of lag or one unnecessary click gets paid a thousand times a week by every person on the team. We treat that cost as seriously as a bug, and we cut features that would make the common path slower.
Basic concepts
Agents raise the stakes further. When issues are written and closed at machine speed, the human side of the tool has to be even calmer: clear views, quiet defaults, and nothing competing for attention. Design is what keeps a fast-moving workspace readable, and it gets the same engineering rigor as the sync engine underneath.
Workspace
A Linear workspace is the container for all issues, teams and other concepts relating to an individual company (Vast.craft in the image above). As a user, you can have accounts on one or many workspaces and can switch between these accounts using the dropdown menu in the top left-hand corner of the application. Workspaces each have a unique URL in the style linear.app/example. When you log into Linear, you’re logging into a specific workspace.
import React from 'react'import { View, ActivityIndicator } from 'react-native'import { useVehicleState, SyncStatus } from '@hooks/useVehicleState'import { Dashboard } from '@components/Dashboard'// this here is a commentexport const HomeScreen = () => {const { vehicleState, syncStatus } = useVehicleState()if (syncStatus === SyncStatus.PENDING) {return <ActivityIndicator size="large" />}return (<View><Dashboard state={vehicleState} syncStatus={syncStatus} /></View>)}