Keystone
Keystone's icon: an arch of stones with an orange keystone, and a small Gantt chart inside it Project scheduling · macOS and Windows

Plan it. Drag it. Compare it.

Keystone is a desktop project scheduler with Microsoft Project's scope: tasks and links, calendars, the critical path, resources and leveling, baselines, tracking and earned value. What's different is how quickly you get there. Type the plan as an outline, drag on the Gantt chart, find any command with ⌘K, and try a what-if without touching the real plan.

Keystone's Gantt chart of a house build, with the S-Curve pane under it lined up with the chart's dates: the current schedule against the baseline, and the status date marked
The four headliners

Less clicking, more planning

Everything a full scheduler has, with four ways to reach it faster.

1

Type to Plan

Press ⌘⇧O and type the plan as an indented outline. Pour slab 5d after Formwork becomes a five-day task that follows Formwork; @Crew 3 puts a crew of three on it.

The preview schedules it as you type, with the critical path in red, and underlines anything it can't read.

House build
  Site work
    Clear site 2d @Crew
    Excavate 3d after Clear site @Crew
  Structure
    Footings 4d after Excavate @Crew, @Concrete [12 m3]
    Slab 3d after Footings @Crew
    Framing 10d after Slab +2d @Ana, @Crew
    Roof 6d ss Framing +5d @Ana
The Type to Plan panel: a sixteen-task house build typed as an outline, with a live preview of its Gantt chart beside it and the last line underlined because it names a task that doesn't exist
2

Drag on the Gantt

Drag a bar to move it, its end to change its length, its progress to update it, and from one bar to another to link them. The links and the critical path follow the mouse, so you see what a change does before you let go.

A tooltip names the link you're about to make, and a link Keystone won't make, such as a second link between the same two tasks, is refused while you drag.

A link being dragged from Wiring to Drywall on the Gantt chart, with a tooltip reading Finish-to-Finish Link, From: Wiring, To: Drywall
3

A command palette, ⌘K

Every command, view and option, by name. Type “level” and Level All, the Leveling Gantt, Level Selection and the leveling options are all there, each with the ribbon tab it lives on. The commands you use often rise to the top.

The command palette over the Gantt chart, listing Level All, Leveling Gantt, Level Selection and other matches for the word level
4

What-if scenarios

Branch the plan, change it, and compare. Finish dates, duration, cost, work and critical tasks sit side by side, both schedules are drawn over each other, and the tasks that moved are listed with how far.

Here a second crew brings the finish in a day and saves $1,920. Switch between branches whenever you like; the main plan stays as it was.

Compare Scenarios: the Two crews branch finishes Thu 4/9/26 for $17,200 and the main plan Fri 4/10/26 for $19,120, with both schedules overlaid and the tasks that moved listed
New

The S-Curve view

How the project is going, in one line against another: the baseline, the current schedule and what has actually happened, from the start to the finish.

The S-Curve of cost: current schedule, baseline, actual cost and earned value, with a crosshair readout for March 30 and the schedule and cost variance in the corner
Cost, with earned value and actual cost up to the status date.
The S-Curve of percent complete in dark mode, saying the project is behind plan by 8.4 percent
Percent complete, in dark mode: “Behind plan by 8.4%”.
  • Cost, Work or % Complete, by days, weeks, months or quarters.
  • Earned value on the cost curve, with SV, CV, SPI and CPI read out.
  • Today and the status date marked; hover for any day's figures.
  • A view or a pane: open it under the Gantt chart, lined up with its dates.
The rest of the scheduler

Everything a schedule needs

The parts of Microsoft Project people rely on, in a ribbon laid out the way they know.

Links and constraints

Finish-to-start, start-to-start, finish-to-finish and start-to-finish, with lags and leads in working or elapsed time. All eight constraint types, deadlines, and scheduling forward from the start or back from the finish.

Calendars and the critical path

Project, task and resource calendars with work weeks and exceptions. Total and free slack, late dates and the critical path, kept up to date as you edit.

Resources and leveling

Work, material and cost resources with rates, availability and per-use costs; fixed units, duration or work; effort driven; work contours. Level all or the selection, with the Leveling Gantt to see what moved.

Baselines and tracking

Eleven baselines, a status date, percent complete, actuals, Update Tasks, Update Project, Reschedule Unfinished Work, progress lines and variance tables.

Costs and earned value

BCWS, BCWP, ACWP, SV, CV, BAC, EAC, VAC, SPI and CPI as table columns, a table of their own, and a view with the project's figures.

A task inspector

Select a task and it says why it starts when it does, whether it's critical, and what's wrong with it, with fixes to apply.

Printing, PDF and pictures

Print preview and page setup for every view, PDF and PNG export, and copy picture.

Crash recovery

While a project has unsaved changes, a copy is kept every half minute. If Keystone stops without quitting, it reopens the copies next time and says so.

Fast on big plans

On a plan of 2,000 tasks, scheduling takes about 10 ms and an edit with its reschedule under 15 ms. Measured below.

Every view you'd expect

Gantt Chart, Tracking Gantt, Leveling Gantt, Network Diagram, Calendar, Task Usage, Resource Usage, Resource Graph, Team Planner, Resource Sheet, a timeline, and eight reports. Grouping, filters, highlighting, AutoFilter and sorting throughout.

Files in, files out

Bring a schedule from Microsoft Project or Primavera P6, and hand one back.

FormatReadWriteNotes
Keystone .keystone✓✓Everything, including view settings and scenarios.
Microsoft Project XML (MSPDI) .xml✓✓One link per pair of tasks, as Microsoft Project keeps them.Written files are checked against Microsoft's published schema.
Primavera P6 XER .xer✓✓Several projects per file; P6's link pairs (SS + FF) kept.Checked by reading the same files with MPXJ.
Excel .xlsx✓✓Tasks, Resources and Assignments sheets, and a sheet with a picture of the Gantt chart.
CSV✓✓Microsoft Project's column names; European number and date styles. Writes the table on screen.
PDF and PNG—✓Any view.

The readers are tested on files written by Microsoft Project 2007 to 2024 and by P6, taken from public test suites. Keystone reads and writes these formats; it hasn't yet been tried against Microsoft Project or P6 themselves (see Limits).

Quick on a big plan

Measured with the app's own timing test on a generated plan of 2,000 tasks.

~10 msto schedule all 2,000 tasks
<15 msfor an edit and the reschedule after it
2–20 msto open and draw a view

What it doesn't do yet

So you know before you rely on it.

  • Keystone hasn't been checked against Microsoft Project or Primavera P6 themselves. Its files follow the published MSPDI schema and read back with MPXJ, and it reads real files from both, but a file from your own copy may still hold something it doesn't expect.
  • Windows: the installer is built on a Mac and hasn't yet been run on a Windows PC, and it isn't code-signed yet, so Windows SmartScreen asks you to confirm (More info › Run anyway).
  • Microsoft Project XML keeps one link between two tasks, so a P6 pair (SS and FF) goes out as its first link. The project's priority isn't in that format either.
  • Work can't be typed into the cells of the usage views.
  • Type to Plan's editor doesn't wrap long lines, and has no input-method composition (Chinese, Japanese and Korean text can be pasted or typed directly).

Download

Version 0.3.0 for macOS and Windows.

Once installed, updates download in the background and install when you quit. The Mac version needs Apple silicon; the Windows installer isn't code-signed yet, so SmartScreen asks you to confirm.