PGM Lens
New ยท Open source, Apache-2.0

Know when your program will really finish.

PGM Lens reads Jira, GitLab and GitHub, finds the work that is holding everything else up, and forecasts the finish date as honest probabilities instead of one hopeful date.

Free and self-hosted. No sign-up, no tracking.

The PGM Lens overview for a demo program: the verdict 'Off track', then a forecast timeline for three milestones, each with a plain verdict such as 'Likely to slip about 2 weeks'.
Connects to the tools your teams already use

Three questions, answered first.

Every screen opens with the answer in plain language. The detail is one click away.

Forecast timeline with the numbers behind each forecast.

When will it finish?

Thousands of simulations on your team's recent pace give a likely date, an 80% date and the chance of making the deadline.

A list of risks with severity and explanation.

What needs attention?

Rules flag stale blockers, scope creep, overloaded owners and unowned critical work, each with what to do next.

A dependency map of issues with the critical path outlined.

What is holding everything up?

A dependency map built from your real blocking links surfaces the one issue at the root of a chain.

How it works

Connect

Point a connector at Jira, GitLab or GitHub. Everything is normalised into one model, so a program across several trackers reads as one.

Analyse

Graph analysis, a Monte Carlo forecast and declarative risk rules run on your data. Thresholds live in a YAML file you can edit.

Act

Read the verdict, open the risk, and brief leadership. AI summaries may only quote facts, and anything ungrounded is rejected.

Built so you can check the maths.

Uncertainty is shown

Forecasts are probability bands, not a single date. Tick one box and the numbers behind every forecast appear.

AI explains, it does not invent

Briefings are written from numbered facts. A claim that cites no fact, or contains a number that is not in the facts it cites, is rejected.

Rules are data

Risk thresholds live in a YAML file you can extend, so "stale" means what it means for your team.

Try it in a minute.

The demo ships with a realistic program that is deliberately behind schedule. You need uv and Node 20 or newer, or Docker.

# from source (works on Windows, macOS and Linux)
git clone https://github.com/vimalmaheedharan/pgmlens
cd pgmlens
uv sync
cd apps/web && npm install && npm run build && cd ../..
uv run python -m pgmlens_api --web apps/web/dist
# open http://localhost:8000   (with make: "make setup" then "make demo")

# or with Docker
docker compose up   # http://localhost:8080

Early, and honest about it.

PGM Lens is version 0.1. It is a solid core, not a finished product. Before you rely on it:

  • Storage is simple. Programs are kept in memory with a JSON file for persistence. A database is on the roadmap.
  • Forecasts count issues, not story points, and need a few weeks of history to be useful.
  • The API does not sync from Jira or GitLab by itself. That is deliberate, because a server that fetches arbitrary URLs is a security risk. Run a connector from the command line or your own job and send the result in.
  • Sign-in is a single token protecting write actions. Proper authentication is planned.

See it on your own program.

Free, open source and yours to self-host. Star the repo to follow along, or read the roadmap to see what is next.