Portfolio clarity, straight from Excel

Turn messy Excel project trackers into executive-ready portfolio dashboards in minutes — no BI rebuild, no complex setup, just a clean shareable view for PMO reporting.

Portfolio overview · sample
26Projects
78%Green
4Amber
1Red
Northwind Payments APIIn Progress
Contoso Data LakePlanning
Fabrikam GRC ControlsUAT
Wide World ReportingIn SIT
Click to open full sample in a new tab →
Works with Microsoft 365 & desktop Excel Data stays under your control No Power BI needed

Built for PMO teams

Outcome-focused reporting from the spreadsheet you already maintain — without a platform migration.

  • Executive-ready dashboards from your existing Excel tracker
  • No Power BI rebuild, no new software licenses
  • Privacy-first: HTML output hosted under your control
  • Publish and share in minutes, not days
Before
AProjectHealth
2Payments APIGreen
3Data LakeAmber
4ReportingRed
After
Portfolio
Payments APIGreen
Data LakeAmber
ReportingRed

How it works

Three straightforward steps from spreadsheet to shareable dashboard.

  1. Open your workbook with the Ongoing Projects sheet — or start from our samples.
  2. Use the PMO Lens add-in or your usual flow to export CSV and run generate_pmo_dashboard.py (see repo docs).
  3. Open updated-dashboard.html in a browser — present to executives, archive monthly portfolio reports, or share internally as a clean shareable link.

Lightweight by design

No heavy front-end frameworks on this site — just fast HTML and CSS. Dashboard generation uses Python locally, in Docker, or behind your own API.

Fast load times

One font, one stylesheet, no trackers.

Your data stays yours

Portfolio CSV and HTML exports stay under your control. Optional API is yours to host.

Built for serious portfolio exports

Large exports use CPU and disk briefly — same as any reporting tool.

Also available as an Excel add-in

The PMO Lens add-in lives in the ribbon. Sideload for development, then publish via Microsoft AppSource when you're ready. Code and manifests are in office-addin/.

Publish this site (getpmolens.com)

Host this landing page on Railway (or any static host). The live site is served from the landing/ folder only.

Deploy on Railway & connect your domain

1 · Deploy

In Railway, connect getpmolens, set root directory to landing, and use npm start.

2 · Custom domain

In Railway, add getpmolens.com and www. Railway shows the DNS records to create.

3 · Namecheap DNS

In Namecheap → Advanced DNS, add the records Railway provides (often CNAME for www; follow Railway for the apex).

4 · HTTPS

After DNS validates, Railway provisions TLS automatically — often within minutes to an hour or two.

Full checklist: landing/README-RAILWAY.md · Railway custom domains