Enterprise Design System

One system for every way to see a Schedule

Linarc 3.0 unifies four fundamentally different project views — a spreadsheet scheduler, a Gantt, a Kanban board, and a work-breakdown structure — into a single, coherent component language for construction teams.

Role

Product Designer

Timeline

2026 - 3 months

Team

2 designers

Platform

Web · Figma · Tokens

Scheduler · Gantt view — illustrative

Task

Critical path

W1

W2

W3

W4

W5

W6

W7

W8

W9

W10

W11

W12

Site prep & survey

CP

Foundation pour

CP

Structural steel

CP

MEP rough-in

Envelope & glazing

CP

Interior fit-out

Overview

What Linarc 3.0 set out to fix.

Linarc is a construction-management platform where crews plan, schedule, and track jobsite work. By 2.x, each planning view had drifted into its own visual and interaction dialect — the Gantt, the scheduler grid, and the boards looked and behaved like three different products. 3.0 rebuilt them on one shared foundation so a task, a status, or an assignee means the same thing everywhere.

The problem

Four views, four dialects.

A spreadsheet scheduler, a Gantt, a Kanban board and a WBS tree each carry different data structures — rows, time-bars, cards, and nested nodes — yet users move between them constantly on the same project. When the same task looked and behaved differently in each, people lost trust and re-learned the interface every time they switched. The core design problem: make the shared concepts identical and let only the layout change.

Inconsistent status language

Colors and labels for the same status differed across views, so “done” looked different in the Gantt than on the board.

Divergent interactions

Editing a task took a different gesture in each view — no shared model for select, drag, or inline edit.

Foundations

The layer everything inherits.

Tokens, type, spacing, grid and theming — deliberately kept lean, because in a data-dense product the foundation earns its keep by being invisible and consistent, not expressive. Density scale and a strict 8-px rhythm mattered more here than a big palette.

Density as a first-class token

Row height, padding and font-size shift together via one density setting — critical for fitting long schedules on screen.

Composition

One atom, four contexts.

The clearest proof of a system: a single task component carries the same status dot, name, assignee, and dates everywhere — the four views just re-arrange it. Get this atom right and every template inherits consistency for free.

Foundation pour

Critical · W4

JM

Ref 04 · The atom

Status dot, task name, assignee and date form one component with fixed semantics. Below: the same atom rendered natively in each of the four templates — nothing about its meaning changes, only its arrangement.

Scheduler · row

Foundation pour

Structural steel

MEP rough-in

Gantt · bar

Kanban · card

Foundation pour 

Structural steel

WBS · node

▸

1.0 Superstructure

└ 1.1

Foundation pour

└ 1.1.1 Rebar set

The templates

Four views.
The hard decisions in each.

Each template is where the system meets a genuinely different data-visualization problem.

Scheduler

Spreadsheet grid for planning

Gantt

Time-bars & dependencies

Kanban

Status flow & swimlanes

WBS

Nested breakdown & roll-ups

5.1 · Template

Scheduler — the spreadsheet

A familiar grid that has to hold hundreds of rows without feeling like a wall of data. The wins here are keyboard-first editing and legible density.

Virtualized rows

Only visible rows render, so a 500-line schedule scrolls at 60fps without layout thrash.

Sticky columns + frozen header

Task name and dates stay pinned while metadata columns scroll horizontally.

Empty & error states

A first-run empty grid invites the first task instead of showing a blank sheet.

5.2 · Template

Gantt — time on a grid

The signature view. Bars, dependencies and the critical path have to stay readable from a one-week zoom to a full-project overview.

Zoom levels: day / week / month

Bar detail and axis labels re-flow per zoom so density stays constant across scales.

Critical path in signal only

Colour is reserved — the critical path is the one thing allowed to use the accent, so it always reads first.

Drag to reschedule

Dragging a bar moves dates and re-draws dependent arrows live, with snap-to-day.

5.3 · Template

Kanban — status flow

The same task as a movable card. The design work is in swimlanes, WIP limits and making drag targets obvious without clutter.

Swimlanes by phase or crew

One toggle re-groups the board without changing the card component itself.

Card = the shared atom

The Kanban card is the same task component from §04, restyled for a vertical stack.

Drop-target affordance

Columns show an insertion line and dim siblings so the drop point is never ambiguous.

5.4 · Template

WBS — the breakdown tree

Nested work packages with roll-ups. The challenge is deep hierarchy that stays scannable, plus totals that aggregate up the tree.

Indentation & guide lines

Consistent indent steps plus subtle guide rails keep depth readable past four levels.

Roll-up aggregation

Parent rows summarise child dates, progress and cost — recalculated on collapse/expand.

Collapse / expand

Whole branches fold with animated height and a persisted expansion state per user.

Governance & impact

Documented and adopted.

A system only counts if teams actually build on it. 3.0 shipped with usage docs, dev handoff specs and a contribution model.

Documentation

Usage guidelines, do/don’t examples and density rules published alongside every component.

Dev handoff

Tokens mapped 1:1 to code, so the Gantt bar in Figma is the Gantt bar in production.

Governance

A lightweight contribution & review model kept the four views from drifting apart again.

LET’S WORK TOGETHER

LET’S WORK TOGETHER

Create a free website with Framer, the website builder loved by startups, designers and agencies.