Kind-of-Lost Kind-of-Lost · OR Tools · Project Scheduler · Support · Excel template

Free Resource Leveling & Critical Path Scheduler

RCPSP CPM CP-SAT Google OR-Tools Upload your task list and your real headcount, get a schedule your crew can actually work.

What is resource-constrained scheduling?

The critical path method (CPM) takes your tasks and their predecessors and works out the earliest each one can start. Every free CPM calculator does this, and every one of them assumes you can put as many people on the job as the plan asks for. Real projects don't work that way: you have three electricians, and on the days the plan wants five, something has to give.

Scheduling around that limit is the resource-constrained project scheduling problem (RCPSP), and it is genuinely hard — no commercial package solves it exactly. They apply a priority rule instead, and none of them tell you how far the answer sits from the best one available. This tool uses Google OR-Tools CP-SAT to solve it properly, and says plainly whether it proved the schedule optimal or ran out of time trying.

1 How it works

1
Start from the Excel template. It already contains a worked 21-task renovation, so you can see the exact format before replacing it with your own.
2
Fill in your tasks, durations, predecessors and how many people each one needs — then list what you actually have on the resources sheet. Don't rename or delete any sheets.
3
Upload it, pick which question you want answered, and read the chart. Drag any bar to pin it and everything else re-optimises around it.

2 Upload your workbook

Drop your workbook or MS Project file here
or · .xlsx or MS Project .xml
Download the Excel template (.xlsx, sample filled in)

Excel or LibreOffice workbooks (.xlsx, .xlsm), or a Microsoft Project plan saved through File → Save As → XML Format. Nothing is stored: your file is held only long enough to write the answer back.

3 Results

The schedule

Drag a bar to pin that task where you want it — everything else re-optimises around it.
cannot be delayed — moving it moves the finish date has slack pinned by you more of a resource than you have

The colours count the crew you actually have. A task can look like it has slack on paper and still be unable to move, because someone else needs the same people that week — hover a bar to see what is holding it.

Common questions

What is the difference between the two modes?

They are the two ends of the same trade-off. Work within my crew treats your headcount as a hard limit and tells you the earliest honest finish date. Keep my date treats the date as the hard limit and tells you how many people it would take to hold it. The numbers above the chart are the same either way — only the schedule drawn underneath changes.

Why is a task marked as unable to be delayed when it has slack on paper?

Because the colours count your crew. A task can have days of CPM float and still be unable to move, because the people it needs are busy on something else that week. Hover any bar and it tells you what is holding it — a predecessor, or a crew hand-off.

Which predecessor types does it support?

All four, with lag or lead: finish-to-start, start-to-start, finish-to-finish and start-to-finish. Write them the way MS Project and Primavera do — 3, 3FS+2, 5SS, 7FF-1. A bare number means FS with no lag.

Can I upload a Microsoft Project file?

Yes — save it as XML first. In Project use File → Save As and choose XML Format (*.xml); the binary .mpp format is not readable outside Project. Predecessors, lag, durations, resources and assignments all come across, and the dates Project scheduled are kept as the "before", so the tool can show you what its levelling cost you. Summary rows and milestones are folded away, and anything that had to be reinterpreted on the way in is listed above the results. Up to 60 tasks. Primavera's .xer is a different format and is not supported.

Can I take the schedule back into Microsoft Project?

Yes — upload the .xml, solve it, then use Download for MS Project and open the result in Project. It is your original file, patched, not a rebuilt one: the outline, summary rows, milestones, assignments and custom fields come back exactly as you had them. The only change is that tasks the crew limit pushed later carry a "Start no earlier than" constraint at their new date, which is what stops Project pulling them straight back to where they were. Clearing those constraints in Project undoes the levelling.

What if I change the plan in Project and upload it again?

That works, and the two will agree: a "Start no earlier than" constraint is honoured here exactly as Project honours it, so a task never gets pulled in front of a date you set. That cuts both ways, which is why there is a tick box for it — if the plan came back from a previous run, the constraints that export wrote are still there, and shortening a task will not pull anything in front of them. Tick Ignore those constraints and re-level from scratch above the results and it re-solves as if they were never there. It is the same idea as Clear Levelling in Project, and it changes nothing in your file unless you then download it again.

Do I need Excel?

The template is an .xlsx and works in Excel, LibreOffice and Google Sheets. It draws its own Gantt bars and works out start dates from your predecessors, so it is usable on its own even if you never upload it here.

Is it really free?

Yes — no signup, no account, no limit on how many times you run it. Your workbook is held in memory only long enough to write the answer back and is never stored.

Get an email when this tool gets better. Microsoft Project import has just landed; crashing (shortening a task by adding people) is next. Low volume, unsubscribe anytime.