1. Paste the queue
2. The plan
Work in this order
| # | File | Hours | Starts day | Finishes day | Due day | Hours to spare | Net |
|---|
Files turned down
| File | Why | Offered fee | Worth accepting at |
|---|
Against simple rules
| Rule | Files | Total net |
|---|
Prefer a CLI?
Same logic, zero dependencies, one command — reads a file or stdin:
node cli.mjs pla jobs.csv --hours-per-day 6 --booked 4 --booked-due 2 --json cat jobs.csv | node cli.mjs plan - --hours-per-day 7
Get cli.mjs and engine.mjs — Node 18+, nothing to install, no network call. More: How to choose which translation jobs to accept: capacity and due-date math.
What's recognised
| Input | Handling |
|---|
The plan is exact for the numbers you type (a search over every set of files, up to 16). One person and one stream of hours; work is treated as divisible across days, so a file that must be done in one sitting, a call that needs a specific day, a second translator, rush add-ons that change after acceptance, repeat-client value and the cost of declining a client are not modelled. Business days are counted by you; weekends and holidays are not.
Common questions
Does it upload my job list?
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.
How is the best set found?
Work is divisible across days, so a set of jobs can be delivered on time exactly when, for every due day, the hours of the files due by then fit in the hours you have by then. The tool searches the jobs in due-date order, abandons a partial set the moment it misses a deadline, and keeps the highest total net. That is the exact best set for the numbers you give, and the tests compare it with trying every subset.
Why would it turn down a file I would normally take?
Because hours before a deadline are the scarce thing. A good-paying file can take the hours two other files needed to hit the same due date. The tool says what the file would need to pay to earn its place, which is the number to counter-offer.
Where do the hours and costs come from?
From your own records: the hours a typical file of that type takes you from drive to final report, and the out-of-pocket cost of each file. They are your estimates, so treat the plan as a decision aid, not a forecast.
Who is it for?
Freelance translators, editors, transcribers and other solo professionals paid a fee per job who choose which agency offers to accept against fixed delivery dates.