Mino PM

Earned Value Project Management

Earned Value

Earned Schedule

Forecasts

Add Task

Ctrl/Cmd+click for multiple

Task List

Gantt Chart

Normal
Critical
Today

Board

S-Curve — PV / EV / AC

Add Team Member

Team Roster

Resource Loading

Allocation Summary

ATProto Sync

End-to-end encrypted sync to your ATProto PDS. Records are sealed in vault.sealed envelopes — your PDS operator sees only ciphertext.

Passphrase derives your encryption key (PBKDF2, 600k iterations). Same passphrase as Wave/CRM vault.

Export / Import

Earned Value Management (EVM)

EVM answers "are we on track?" by comparing three values at any point in time:

PV Planned Value — how much work should be done by now, in budget terms. Computed from each task's planned cost weighted by how much of its scheduled duration has elapsed.
EV Earned Value — how much work is actually done, valued at what we planned to spend. Each task's planned cost × its percent complete.
AC Actual Cost — what we actually spent on the work performed.

Variances (positive = good):

CV EV − AC. Positive = under budget.
SV EV − PV. Positive = ahead of schedule.

Indices (1.0 = on track, >1.0 = efficient, <1.0 = trouble):

CPI EV ÷ AC. Cost efficiency — how much value per dollar spent.
SPI EV ÷ PV. Schedule efficiency — how much work done vs. planned.

Forecasts:

BAC Budget at Completion — total planned budget (sum of all task costs).
EAC Estimate at Completion = BAC ÷ CPI. At current burn rate, total cost will be...
ETC Estimate to Complete = EAC − AC. How much more we need to spend.
VAC Variance at Completion = BAC − EAC. Projected budget surplus/deficit.

Earned Schedule (ES)

Classic EVM measures schedule variance in dollars, which breaks down late in a project (SV converges to zero at completion even if you're late). Earned Schedule converts to time:

ES The point on the timeline where PV equals current EV. "Based on work done, what date should it be?"
AT Actual Time — days elapsed since project start.
SV(t) ES − AT. Schedule variance in days. Positive = ahead.
SPI(t) ES ÷ AT. Schedule efficiency in time. >1.0 = ahead, <1.0 = behind.
SAC Schedule at Completion — planned project duration in days.
EAC(t) SAC ÷ SPI(t). Forecasted total duration at current pace.

Critical Path

The critical path is the longest chain of dependent tasks through your project. Any delay on a critical task delays the entire project.

Computed via forward pass (earliest start/finish) and backward pass (latest start/finish). Tasks with zero float (LS − ES = 0) are on the critical path and highlighted red on the Gantt chart.

Add finish-to-start dependencies between tasks to see the critical path. Tasks without dependencies each stand alone — add deps to build the network.

S-Curve

The S-curve plots cumulative PV, EV, and AC over time. The shape reveals project health at a glance:

  • Blue (PV) — the plan. Where you should be.
  • Green (EV) — actual progress valued at planned cost. Where you are.
  • Red (AC) — actual spend. What it's costing.
  • EV above PV = ahead of schedule. EV below PV = behind.
  • AC below EV = under budget. AC above EV = over budget.
  • The dashed yellow line marks today.

Baselines & Change Control

A baseline is a frozen snapshot of your project plan — scope, schedule, and cost — taken at a point in time. All EVM metrics are measured against the current baseline.

  • When to snapshot — before work begins (original baseline), and after approved scope changes (rebaseline).
  • When NOT to rebaseline — poor performance is not a reason. The baseline exists to expose it.
  • Change control — scope/schedule/budget changes should go through a formal request, impact analysis, and approval before rebaselining. (Coming in a future version.)

Use the Snapshot button in the header to freeze the current plan. Old baselines are never deleted — full audit trail.

What's Here (v0.4)

  • Duration-based scheduling (2w3d8h format)
  • Multiple predecessors per task, auto-derived start dates
  • Full EVM engine: PV, EV, AC, CV, SV, CPI, SPI
  • Earned Schedule: ES, SV(t), SPI(t), EAC(t)
  • Interactive Gantt — zoom, scroll, responsive, touch-friendly
  • Critical path (forward/backward pass) with red highlighting
  • S-curve chart (PV/EV/AC over time)
  • Subtask hierarchy — arbitrary nesting, summary bars, roll-up
  • Expand/collapse tree with indented Gantt rows
  • Baseline snapshots (local storage)
  • PWA — installable, offline shell

Roadmap

  • ATProto integration — PDS auth, read/write pm.schedule and pm.baseline records via vault.sealed encryption
  • Dependency types — SS/FF/SF in addition to FS, lag/lead time
  • Change control UI — submit change requests, approval workflow, rebaseline with audit trail
  • Multi-project portfolio — aggregate EVM across projects
  • Resource loading — who's over-allocated, leveling
  • TCPI — To-Complete Performance Index
  • Export — CSV/JSON baseline exports, PDF reports

Lexicons

  • com.minomobi.pm.project — project container with BAC + SAC
  • com.minomobi.pm.schedule — per-task planned/actual cost + dates + % complete
  • com.minomobi.pm.dependency — FS/SS/FF/SF edges with lag
  • com.minomobi.pm.baseline — frozen PMB snapshot with task snapshots
  • com.minomobi.pm.changeRequest — scope/schedule/budget change with approval status

All records encrypted inside vault.sealed (AES-256-GCM). Extends existing tasks.issue and tasks.board lexicons.