M4 planning calculator · runs entirely in your browser
Stress-test your development plan before launching agents.
Describe tasks, dependencies, and human checks. The calculator will show a feasible schedule, the speedup ceiling, and where more parallelism stops helping.
Private by default. Unless you opt in to sharing, your configuration and results never leave your browser. All calculations run locally; no API request is made.
01
Let AI draft your model
Send this prompt and your project description to any AI assistant. It will ask clarifying questions and return JSON ready to import.
PROMPT · v1
Decomposition for M4
You are helping describe a software project for the M4 calculator, a phase-based model of one person working with several AI agents.
First ask clarifying questions if any of these are undefined: a shared acceptance criterion for the manual and AI-assisted scenarios, task dependencies, baseline effort without AI, how AI will be used, and mandatory human checks. Keep uncertainty explicit and do not present an estimate as a forecast.
For external calibration, use only empirical studies published in 2026; prefer June–August 2026 when available. Do not use coefficients from older experiments as defaults. If a recent source measures commits, merge rate, or time to merge rather than end-to-end time to an accepted result, mark the estimate as a proxy and explain the conversion.
Then:
1. Decompose the project into verifiable tasks with independent outcomes wherever that is substantively possible.
2. Do not add dependencies merely to impose an order: predecessors must reflect a real inability to start the task earlier.
3. Group similar tasks into classes. For each class, estimate aiCycleMultiplier = end-to-end time to an accepted result with AI / manual baseline. A value of 0.7 means a cycle 30% shorter than manual work; 1.2 means 20% longer.
4. Estimate humanFraction = the share of active human time inside the AI cycle, not a share of the manual baseline. For example, with k=0.7 and humanFraction=0.4, the human is active for 0.28 of the manual baseline and the agent for 0.42. Do not derive humanFraction automatically from k: it is a separate assumption.
5. Add evidence for every class and set kind to measured for directly comparable timing measurements, proxy for indirect metrics such as throughput, or assumption for expert judgment. Add publishedAt in YYYY-MM format for an external source; omit it for an unpublished assumption. If no reliable 2026 source exists, explicitly use assumption. Briefly explain the human share in humanFractionBasis.
6. Parameters c and gamma cannot be below 1. If coordination overhead is unknown, use 1 and explicitly warn that this is optimistic.
7. Return exactly one JSON object without Markdown or comments. IDs must be unique ASCII identifiers. Every predecessor must reference an existing ID, and the graph must be acyclic.
Result schema:
{
"schemaVersion": "m4-calculator/v1",
"projectName": "Project name",
"timeUnit": "hours",
"p": 3,
"c": 1.0,
"gamma": 1.0,
"taskClasses": [
{
"id": "feature",
"name": "Convenient class name",
"aiCycleMultiplier": 0.7,
"humanFraction": 0.4,
"evidence": {
"kind": "assumption",
"label": "Expert estimate for this project",
"note": "Why this coefficient was selected"
},
"humanFractionBasis": "Human work that remains inside the cycle"
}
],
"tasks": [
{
"id": "task-1",
"classId": "feature",
"name": "Optional short name",
"description": "Optional description and acceptance criterion",
"baselineEffort": 16,
"predecessors": []
}
]
}
The prompt asks the AI to state its assumptions explicitly and not present parameter estimates as measured forecasts.
JSON IMPORT
Paste the configuration
02
Review and refine the plan
Use the editor to review the AI-generated draft. Class parameters apply to every task of that type.
Research snapshot: 2026 · June–July prioritized. The k values are reference estimates derived from recent empirical studies, not universal coefficients. q, C(P), and γ(P) remain explicit assumptions.
Calibration sources and method3 publications · conversion formulas · limitations+
01 · 2026-06
Generative AI and labour productivity: A quasi experiment on coding
Quasi-experiment with 1,219 developers: the M4-relevant result is an increase of roughly 22% in completed tasks. We use it as a proxy for end-to-end cycle time:
Analysis of 40,214 PRs. We adjust k using merge rates: docs/style, 83.8% for agents vs 77.9% for humans; feature/behavior, 68.7% vs 77.4%; infrastructure, 72.9% vs 77.0%. This gives:
Does Working with AI Agents Change How Developers Code, Test, and Review?
Longitudinal difference-in-differences study with 669 developers and 228 controls. Reviews became faster and less detailed, but a similar shift appeared in control repositories. We therefore do not attribute a causal speedup to agents:
Limitations. All coefficients are based on 2026 publications, but combining throughput and merge-rate evidence is a modeling choice. Project-specific measurements should take precedence over this example.
01
02
03
04
05
06
Local JavaScript only · no API request
03
What limits the speedup
This is a scenario estimate for the entered parameters, not a delivery-date forecast.
Manual baseline · Tₕ86 h
The same accepted scope without AI
Schedule · T(π)72.98 h
Feasible schedule duration
Lower bound · B₄65.79 h
The model rules out a shorter duration
Speedup1.18× → 1.31×
Scenario estimate → theoretical ceiling
ACTIVE CONSTRAINT
Critical path
W₄ / P load
27.97
L₄ critical path
65.79
γH human
54.95
Schedule gap to the bound: 7.18 h. Human queue: 13.22 h.