FREELANCE PROJECT PICKER · RUNS IN YOUR BROWSER

Which projects should you take?

Three clients want you this month and you can only deliver two. Paste your weekly billable hours and the offers on the table (fee, hours, deadline week) and see the exact set to accept for the most income, why each other offer loses, and the fee a declined project would need to earn its place — your counter-offer number.

For freelancers, consultants and small studios. Nothing is uploaded: the text box is analysed in this browser and never leaves your device.

1. Paste your hours and offers

Prefer a CLI?

Same logic, zero dependencies, one command — reads a file or stdin:

node cli.mjs plan projects.csv --buffer 20
cat projects.csv | node cli.mjs plan - --json

Get cli.mjs and engine.mjs — Node 18+, nothing to install, no network call. More: Which freelance project should you take? The hours math.

What's recognised

InputHandling

The plan is exact for the numbers you type (dynamic programming over deadlines). Projects are treated as splittable across weeks and starting any week; start dates, dependencies between projects, payment timing, taxes and the chance an offer falls through are not modelled.

Common questions

Does it upload my projects?

No. The browser page works on the text you paste, in your own browser, and never sends it anywhere. The CLI reads a local file or stdin and makes no network call.

Why not just take the highest-paying project, or the best hourly rate?

Hours are shared across deadlines. The biggest fee can use hours that two smaller projects would have paid more for, and the best hourly rate can be a small job that leaves hours nothing else fills. The plan compares every deliverable combination exactly.

How does it know a set of projects is deliverable?

Hours can be split across weeks, so a set works exactly when, for every deadline week, the hours due by that week fit the hours you have by that week. The tool checks that for you and finds the highest-fee set that passes.

What is the break-even fee for a declined project?

The fee at which that project would earn a place in the plan, given your other offers. Use it as the number to counter with, or as the rate below which you say no.

Is the plan guaranteed to be best?

It is the exact best answer for the numbers you typed, checked against trying every combination in the tests. Hours estimates are usually optimistic, so use the scope-creep buffer; the result is a decision aid, not a forecast.