Studio · Full-screen workspace

Gantts

The Gantts studio is where staffing plans and roadmaps live — visual project timelines with milestones, phases and dependencies laid out on a week grid. You don't draw them by hand: you describe the people and the work in chat, and the layout engine schedules everything so nobody is ever double-booked. Then you open the studio to drag it around, and it deconflicts as you go.

You feed it resources and work; it does the scheduling. Rows are people; blocks are work-streams. Lay down the hard commitments — on-call and vacation — and project work automatically flows around them into the earliest free weeks. Give a work-stream its dependencies and the engine computes the critical path for you. You never hand-pack a conflict-free schedule.

Never double-books

On-call and vacation hold their weeks; work flows around them automatically.

Auto-schedules

Leave a start open and each work-stream drops into the earliest free slot.

Computes the critical path

Finish-to-start dependencies are sequenced and the driving path is highlighted.

Drags & deconflicts

Rearrange visually in the studio; it re-solves conflicts on the fly.

Open it any time from chat — say "open the Gantt studio" or click the Open chip Sage surfaces — or jump straight to a specific plan. Plans render as a card right in the chat too, so you often don't need to leave the conversation.

What it is#

A Gantt in Zimac is a plan on a week grid (weeks anchor to Mondays): a set of rows — the people or resources doing the work — and a set of blocks — the work-streams, on-call rotations and time off that occupy their weeks. It's the tool for a staffing plan, a capacity view, or a delivery roadmap, and it's built to be edited: change the inputs and the engine re-solves the schedule rather than making you re-pack it by hand.

How a plan is made#

You build a plan by describing it to Sage (or asking her to build a staffing plan), and she assembles the rows and blocks and hands back a ganttBlock card that renders the plan inline in the chat. From there you can open it in the studio to drag things around. The whole loop is conversational — you talk about people and work, not grid cells.

Try saying
build a staffing plan for the migration across my team open the Gantt studio add a two-week hardening phase after the cutover

Rows & work-streams#

Each row is a person or resource — and you can add placeholder rows (like INC2) for seats you haven't filled yet, so a plan can show the headcount you'd need, not just the headcount you have. Each block is a stretch of weeks: a work-stream with a label, a colour, and a duration (at least one week). Distinct work-streams get distinct colours so the plan reads at a glance.

Try saying
put Maya, Tomás and an unfilled senior seat on the plan give the data-backfill stream three weeks on Maya's row

On-call & vacation#

Blocks come in three kinds, and two of them are hard commitments that the schedule bends around:

Work — the project streams On-call — red, immovable Vacation — yellow, immovable

Lay down on-call rotations and time off first — they hold their weeks no matter what. When a work-stream would overlap a commitment, the work pauses for those weeks and resumes after (no idle gap before it), so a person is never scheduled to do project work while they're on-call or away.

Try saying
Tomás is on-call weeks 3 and 4, and off the last week of the month

Auto-scheduling#

You don't have to place blocks by hand. Omit a work-stream's start and the layout engine drops it into the earliest free run of weeks on that person's row — wrapping around their on-call and vacation. Pin a start only when a stream has a real fixed date. Either way the guarantee holds: no two blocks ever share a week on the same row, so nobody is double-booked.

Deterministic, not magic. The engine packs work into the earliest available weeks and, only as a last resort, accepts an overlap it flags — so the plan you get back is always a concrete, conflict-checked schedule.

Dependencies & critical path#

Give a work-stream its dependencies — the streams it has to wait on — and the engine schedules it finish-to-start: it starts only after everything it depends on has finished. From that dependency graph it computes the critical path — the chain of work-streams that actually drives the finish date — and marks it, so you can see which work, if it slips, slips the whole plan. You never hand-sequence a roadmap.

Try saying
the cutover depends on both the schema migration and the backfill what's on the critical path for this plan?

Progress & milestones#

Each block can track progress from 0 to 100%, so an in-flight plan shows how far along each stream is. And a plan can carry milestones — deadlines or launches pinned to a specific week or date — that render as markers across the grid, so the dates that matter sit right alongside the work that has to hit them.

Try saying
mark the backfill 60% done add a launch milestone on March 15

Dragging in the studio#

Open the plan in the Gantts studio and you can drag work-streams around the week grid directly. The studio deconflicts as you go — it re-solves the row so two blocks never end up sharing a week, keeping on-call and vacation fixed while the work rearranges. It's the hands-on complement to the conversational build: describe the shape in chat, then fine-tune it by hand.

Try saying
open this plan so I can rearrange it

Reading the plan#

Ask about a plan and you get a read-only analysis — no tokens, no changes: per-person utilisation (busy vs idle weeks), the plan's end date, the dependency critical path, and risk warnings like idle people, fully-booked people, or work that overruns a milestone. It's how you answer "who's the bottleneck?", "when does this finish?", and "who has room?" straight from the plan.

Try saying
who's overloaded on this plan? when does this finish, and what's driving the date? who has room to take on more?

Plans & projects#

A staffing plan and a tracked project are two views of the same work, and they link in one step. Turn a plan into a project and each work-stream's end-of-week becomes a completion milestone (on-call and vacation are skipped); go the other way and Zimac drafts an editable plan straight from a project's dated items. Once linked they stay in sync — change one and you can push the dates onto the other — so the roadmap and the delivery board never drift apart. See Projects →

Try saying
turn this gantt into a tracked project draft a staffing plan from the SSO project

Managing plans#

You can keep several plans and manage them all from chat: list your saved plans, open or read one, edit it (the change re-renders as an updated ganttBlock card), or delete one you no longer need. Because plans are stored in a stable, byte-for-byte form, an edit only touches what you changed — the rest of the plan stays exactly as it was.

Try saying
list my gantt plans rename the migration plan and add a QA row