Sanube Pulse
An internal planning tool where every project is a canvas you can move around in

The problem
Planning tools flatten work into lists and boards, but the thing you actually need to see when planning is shape — what hangs off what, what sits where in time. Describe that in a list and the structure stays in the planner's head, which means nobody else can read the plan without being talked through it.
The approach
Every project gets a React Flow canvas with nine node types: tasks, milestones, comments, links, images, video, file attachments, a project overview, and an interactive Gantt timeline. Lists and canvas stay in sync in both directions — creating a task spawns its node, and dragging a bar on the timeline writes the dates back to the task. Autosave fires on a 500ms debounce, undo covers 50 steps, dagre handles auto-layout, and the whole board exports to PNG or PDF.
The result
In daily internal use, 237 commits deep since May. Every push to main runs the pipeline end to end — tests, Docker build, Prisma migrate, restart — so the gap between fixing something and having it live is one push.
What mattered
- The timeline node is a real Gantt: drag a bar and the task dates move with it
- Uploads stream with Byte-Range support, which is what lets video seek instead of only play
- Files are delivered through an auth-checked route, never served statically