A simple, free (MIT), offline tool to optimize timelines and render Gantt charts.
- Define your timelines in a JSON DSL (schema).
- Automatically schedule your timelines based on task estimates and dependencies. The optimization runs locally in your browser via Microsoft Z3 Theorem Prover.
- Optional Google Fonts integration - use Google Fonts by specifying
googleFont
. Confirmation popup before making any external network calls. This feature is entirely optional.
MIT
Dependencies: Microsoft Z3 Prover WASM (MIT), D3.js (ISC), and Monaco editor (MIT). Vendored in this repo.
We used the approach found in this CodePen to structure the SVG.
There are a lot of excellent free tools to render Gantt charts via a DSL (but not necessarily to schedule them).
- Vega implementation (David Bacci)
- PlantUML
The choice to create our own simple JSON DSL (rather than extend e.g., Vega) was deliberate. This tool has a single purpose. Minimizing dependencies gives us complete control. There is opportunity to make the experience simpler and clearer when we don't try to fit in a larger framework.
A rendered timeline scheduled by the tool. The sample project contains a graph of interdependent tasks. Some tasks are given fixed dates using interval
. Dependencies can cross workgroup/swimlane boundaries.
A confirm popup is displayed before this tool makes any external network calls (Google Fonts). The Google Fonts feature is entirely optional - you can use system fonts offline.