Off your existing columns
Point Gantt at a Start and End date column (it auto-detects the first two). Add an optional label column and a "% complete" number column to fill the bars. No data to re-enter — it reads the sheet you already have.
Drag to reschedule
Drag a whole bar to move it, or grab an edge handle to resize the start or end. Every change saves through the same conflict detection as the grid, with undo. A date that's driven by a formula locks its edge (shown with an ƒ glyph) and points you at the input column instead — so the timeline never fights your formulas.
Finish-to-start dependencies
Link a task to its predecessor so it starts when the other finishes. Add lead or lag in days or ISO durations (e.g. "−2d" to overlap). Circular dependencies are detected, drawn in red, and excluded from the schedule math so a loop never produces wrong dates.
Milestones and summary bars
A single-date task renders as a milestone diamond. A parent row with no dates of its own rolls up automatically from its children — earliest start to latest end — so summary tasks stay correct as the plan shifts.
Four zoom levels
Day, Week (the default), Month and Quarter. The zoom is remembered per saved view, so each plan opens at the granularity that fits it.
Working days and holidays
Set your work week (Mon–Fri by default) and a holiday list. Durations and the critical path respect them, so a five-day task never silently lands across a weekend.
Critical path on Business
On Business, the critical path is highlighted and each task shows its slack, computed with a forward/backward pass over the dependency graph. Dependency arrows, drag-scheduling and the working-day calendar are on every paid plan; the critical-path highlight + slack analysis unlock on Business.