Planner
Capacity grid.
Rows are people or teams. Columns are weeks. Each cell is the share of that person’s week already spoken for.
Verdict
Nothing to prove yet.
The grid
Selected cell
No cell selected
Add a row first.
On the grid: arrow keys move, digits type a value, Enter confirms and drops a row, Delete clears, + and − step by 5. Full list below.
–Overbooked person-weeksCells above 100%
–Weeks short of demandEnter demand to test it
–Peak team loadBooked over capacity, busiest week
–Free hoursEach person’s unused capacity, summed
CSV text
Appears after you export or copy. Names starting with = + - or @ are prefixed with an apostrophe so spreadsheets do not run them as formulas.
How to use it
Five moves, in order.
- Set the window. Choose the number of weeks and the date week 1 starts. Pick the shortest horizon that covers the commitment you are testing.
- Add rows. One per person, or one per team if you plan at team level. Give each row the hours per week it really has for planned work, after leave, fixed meetings and duties. For a team row, multiply headcount by hours each.
- Fill the weeks. Select a cell and type the share of that row’s week already committed. A cell holds everything: every project, plus the non-project work that will really happen. 100 means full. Above 100 means overbooked.
- Enter demand. In the Demand row, type the hours of work each week needs. Leave a week empty if you have no figure; it is then unchecked, and the verdict says so.
- Read the verdict. Red cells first, then the Gap row, then Team load. Change the grid, and the verdict updates at once. Export a CSV when the plan is settled.
Keyboard
Every action available with a pointer can be done from the keyboard. Tab to the grid once; arrow keys then move between cells.
| ←→↑↓ | Move between cells. Home and End jump to the first and last week; Ctrl or Cmd with them jumps to the corners. |
|---|---|
| 0 to 9 | Start typing a value in the focused cell, up to three digits. Values above 200 are capped at 200. |
| Enter | Confirm the typed value and move down a row. With nothing typed, jump to the Selected cell panel. |
| Esc | Cancel what you are typing. |
| + − | Raise or lower the cell by 5. Page Up and Page Down change it by 25. |
| Delete | Clear the cell back to unset. Backspace edits what you are typing, or clears the cell if nothing is typed. |
| Space | Apply the paint brush to the focused cell, if one is selected. |
| Ctrl / Cmd + Z | Undo. Add Shift to redo. |
What the numbers mean
Seven terms. No hidden ones.
| Allocation | A cell’s percentage: how much of that row’s weekly hours the plan assigns in that week. 50% of a 20-hour row is 10 hours. |
|---|---|
| Unset | A cell nobody has filled, shown as a dash. It counts as zero hours, but it is not the same as a deliberate 0. |
| Capacity | The sum of every row’s hours per week. Your input, never estimated by the tool. |
| Booked | For each cell, hours per week times allocation, summed down the column. |
| Team load | Booked divided by capacity for the week. It can pass 100% because individual cells can. |
| Overbooked | A cell above 100%. The Over column counts them per row, and the Overbooked row counts people per week. |
| Gap | Booked minus demand. Negative means short, positive means spare. It stays blank for weeks where you entered no demand. |
Assumptions and edge cases
Where the grid is blunt.
- One cell, one person, one week. The grid does not know which project the hours belong to. If you need that split, keep it in your notes and enter the total.
- Hours are plans, not actuals. Nothing here tracks time worked. It tests a plan before the work, not a timesheet after it.
- Leave and holidays. Reduce the allocation for that week, or lower the row’s hours per week if the change is permanent. There is no calendar of public holidays built in, because they differ by place.
- Team rows hide individuals. A team row of several people can read 80% while one of them is at 140%. Use separate rows wherever one person cannot stand in for another.
- A row with 0 hours. It contributes no capacity or booked hours, and it can never be overbooked in hours, though its percentage cells still display.
- Shortening the window. Allocations beyond the new last week are kept but hidden. They return if you extend the window again, and they are left out of exports and totals.
- Bad input. Non-numeric text, negative numbers and blanks are refused with a message and the previous value stays. Decimals are rounded to whole percentages. Allocations stop at 200%, hours at 168 per week.
- Where it is stored. In this browser’s local storage, under your own profile. Two tabs open on the planner do not sync; the last one to save wins. If storage is blocked, the plan lives in memory until the tab closes, and the page tells you so.
- Printing. The Print button hides the controls and prints the grid with its shading and numbers. Cells also print their numbers, so a black-and-white printout still reads.