Skip to content
Julian S.
All work
2026Solo — design & engineering

Sanube Pulse

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

The Sanube Pulse dashboard: today's overdue tasks, upcoming milestones, project progress and a five-week activity grid

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