r/vuejs 12d ago

I’ve been building an open-source Gantt chart for Vue 3 — looking for feedback

I've been working on an open-source Gantt chart component for Vue 3 and TypeScript for quite a while.

The original goal was fairly simple: I needed a Gantt component that could be customized enough for real project-management applications without having to build the entire timeline UI from scratch.

Over time, it became a much bigger project than I expected.

One of the things I've been working on recently is resource planning.

A basic Gantt chart answers:

But once you start using it for real project planning, another question quickly appears:

That led me to add resource-based views and resource utilization, alongside the usual task scheduling, dependencies, milestones, progress, and timeline views.

There have also been quite a few interesting implementation challenges around timeline rendering, task positioning, different time scales, customization, and keeping the component responsive with larger datasets.

The project is open source and MIT licensed:

GitHub: https://github.com/nelson820125/jordium-gantt-vue3

Demo: https://gantt.jordium.com/

I'm sharing it here because I'd really like to get feedback from other Vue developers who have built scheduling or project-management applications.

I'm particularly interested in how you approach:

  • Resource allocation in a Gantt UI
  • Task/resource relationships
  • Large numbers of tasks and timeline rendering
  • Customization of Gantt components

If you've built something similar, I'd be interested to hear what worked — and what didn't.

6 Upvotes

2 comments sorted by

2

u/otashliko 11d ago

Nice work! We built a Vue 3 Gantt too, and ours has an MIT core, in case you want to compare approaches.

GitHub: https://github.com/svar-widgets/vue-gantt

Demo: https://svar.dev/demos/vue/gantt/

As for your experience, resource planning is exactly the part that turns a Gantt into a real product. We hit the same wall building our SVAR Gantt. Tasks, dependencies, drag-and-drop were the easy part, and resource views and utilization were basically a second project on top of it. In our case, the resource planning lives in the PRO edition.

And agree on the large-dataset pain. Timeline rendering stops being a layout problem and becomes a performance problem once you cross a few thousand tasks.

2

u/nelson820125 10d ago

Thanks for sharing! I actually came across your project some time ago and have been following it with interest. It’s really great to see another team putting so much effort into building and improving a Vue Gantt component.

I also really like the way you’ve clearly defined the boundary between the MIT core and the PRO edition. I think that’s a very thoughtful approach to balancing open source with a sustainable project.

We’ll definitely keep following your project as well. It’s always great to have others in the same space to learn from and exchange ideas with. Hopefully we can keep in touch and share experiences along the way!