Sprint Hill
Sprint Hill is Tulsk’s take on Basecamp’s hill chart . It’s a live, draggable map of where every task in your current sprint sits on the arc from “I still don’t know what this is” to “I’m shipping it.” It lives on the EMA dashboard, next to Task Velocity and Health Trend.
It answers a question a burndown can’t: what do we still have to figure out?
The two phases
Every piece of work has two phases:
- Figuring it out (uphill). You know the goal, but the path isn’t clear. You’re researching, sketching, prototyping, changing your mind. There’s nothing to “finish” yet because you don’t yet know what finishing looks like.
- Making it happen (downhill). You now know what to do. Execution is mostly mechanical — write the code, design the pages, ship the emails. Time and effort still remain, but the unknowns don’t.
The peak is the moment it clicks. Before the peak, you don’t really know how much work is left. After the peak, you do. This single distinction is what the chart makes visible at a glance.
Progress up the hill has nothing to do with percent-complete. A task can be “80% coded” and still be uphill if you realise the approach is wrong. A task can be at the top and not yet touched — you’ve just figured out exactly what needs to happen.
What each dot means
Each dot is one task from the sprint you’re viewing. Its horizontal position expresses where the work is on the figure-it-out-to-ship curve. Color and size are there as secondary signals.
| Mark | Meaning |
|---|---|
| Position (x-axis) | How far you’ve climbed — uphill is unclear, peak is clear, downhill is executing. |
| Color | Priority. Red = Urgent, Amber = High, Green = Medium, Purple = Low, Slate = None. |
| Size | Also priority — higher priority dots are slightly bigger. |
| Checkmark | Status is Completed. Dot has rolled off the hill. |
| Amber ring | Stalled for 3+ days without an update. Worth a look. |
| Faded dots | You’re viewing a past sprint (via the scrubber). Not interactive. |
Dragging a dot
This is the whole feature in one gesture.
Click and drag a dot left or right to say where the work really is. The position saves the moment you drop it and stays with the task. It’s your opinion, not a status lookup — which is the point.
When you first open a sprint, every dot is auto-placed based on its status (Backlog far left, In Progress near the peak, Completed far right). As soon as you drag a dot, your placement overrides the auto one and sticks. To reset a task to auto, drag it to one of the status zones and it’ll match again on next render.
The opinionated placement is what makes the hill useful. If you leave everything on auto, you’re just reading status in a different chart. The conversation the hill unlocks is: “why is Task #42 still uphill — what don’t we know yet?”
The scrubber
Below the hill is a row of bars — one per recent sprint. Each bar’s height reflects how many tasks that sprint shipped. The active sprint pulses green. This is the velocity trend, compressed into a strip.
The scrubber is interactive:
- Hover a past sprint’s bar — the hill above fades to ghost mode and shows that sprint’s final layout. Quick peek, no commitment.
- Click a past sprint — it pins. The caption above shows “Sprint 3 · shipped 8 of 12 · ended Mar 14”, and a “Back to now” pill appears in the top-right.
- Click “Back to now” (or click the same bar again) to return to the live active sprint.
Ghost mode is read-only — you can’t drag dots on a past sprint, but you can click one to open the task.
What to look for
The chart is most useful as a read, not a chart. A few patterns worth spotting:
- A cluster still uphill in the last week of the sprint. You have more ambiguity than time. Something is going to slip — pick what.
- One dot stuck alone uphill. Everyone moved past it. Probably not actually worth finishing, or it’s waiting on a decision that isn’t getting made.
- A dot on the downhill that moved back uphill. Someone hit a surprise. Worth asking what.
- Amber rings. Stalled work — real or forgotten?
- A sprint whose past-bar is short in the scrubber. Low ship count. Compare to the one before — is the trend the issue, or was that sprint full of uphill work that hadn’t crested?
What this is not
- Not a burndown. Burndowns assume every task has a known size. The hill assumes you sometimes don’t know the size yet, and makes that visible instead of hidden.
- Not a status board. Status changes don’t move the dot — only your drag does, once you’ve overridden the default.
- Not where to assign work. Use Tasks or Sprints for that; the hill is for the conversation about how the work is going.
Where it lives
Open the EMA dashboard in your workspace. The Sprint Hill card sits below the Task Velocity and Health Trend charts. The hill shows the active sprint by default; use the scrubber to browse past ones.
If your workspace has no sprints yet, the card shows “Start a sprint now” — one click runs Tulsk’s auto-sprint planner, which pulls active tasks from projects into a fresh two-week sprint. You can also ask Ema to start a sprint for you in chat.
Credit
The hill chart idea is Basecamp’s. They explain their own version well at basecamp.com/hill-charts. Tulsk’s version adopts the two-phase metaphor and the drag gesture, adds per-task color coding for priority, and stitches it together with a scrubber so you can see past sprints’ final layouts without leaving the dashboard.