This repository contains a set of lightweight web apps for program management offices. Every app is self‑contained and can be deployed straight to GitHub Pages.
The suite currently includes:
- Integrated Controls Command Board – baseline vs actual cost/schedule, FTE utilisation and efficiency KPIs.
- Decision Latency Tracker – days from first signal to decision closure for changes, risks and approvals.
- Lessons-to-Action Synthesiser – searchable catalogue of lessons with quick copy‑to‑clipboard summaries.
- Organisational Heatmap & Efficiency Tracker – colour‑coded matrix of teams vs processes with utilisation drill‑downs.
- Digital Controls Landscape Diagram – Mermaid diagram showing how all components link together.
- Home – Welcome & Overview – Introductory page that welcomes users and explains the platform’s mission and structure in general terms.
- Projects Portfolio – Directory of all innovation projects with brief summaries, allowing users to explore and navigate to individual project pages.
- Interactive Tools Sandbox – A playground of lightweight, interactive tools (e.g. control-signal tiles, sandbox workbenches, use case mappers) where teams can prototype and experiment.
- AI Tools & Collaboration – Showcases AI-assisted features for project work – from planning and decision support to assurance and performance measurement – and how they enhance team collaboration.
- Systems Thinking & Stakeholders – Guides users in applying a systems-thinking lens, mapping stakeholder networks and decision processes to handle complexity and reduce decision latency.
- Project Lifecycle & Governance – Provides a generic project lifecycle framework with governance checkpoints, aligning with best-practice methodologies in a flexible, user-friendly way.
- Insights & Learning Hub – Repository of shared knowledge – including lessons learned, case studies, and reference materials – to promote reflection and continuous learning across projects.
- Install dependencies
npm install
- Start the development server
npm start
By default this serves the portfolio-state-machine template. The server loads the template app at http://localhost:3000. Future apps can be served by setting APP=<app-name>.
-
Run tests
npm testThis launches Vitest in watch mode.
-
Create a production build
npm run build
The build script iterates over every folder in
apps/and writes the optimised output underdocs/apps/<app-name>. -
Preview the production build locally
npm run preview
Pass
APP=<app-name>to preview a specific build.
apps/<app-name>/– individual applications with their ownsrcandindex.html.src/common/– shared utilities likeindex.css,reportWebVitals.jsand test setup.vite.config.js– uses theAPPenvironment variable to select which app to serve or build.scripts/build-all.js– builds every app found inapps/.
- Create
apps/<app-name>/with asrcfolder andindex.html. Include<a href="../../index.html">Back to app index</a>in the HTML. - Add a screenshot as
pics/<number>.pngand a row toapp-index.csvwith the same number in the#column. - Run and test locally with
APP=<app-name> npm startandnpm test. - Build with
npm run buildwhen ready.
- Use the shared
common.cssstylesheet with a relative path in every static app. common.cssimports the Inter font and defines base spacing, heading rules and.btnclasses.- Include a viewport meta tag and design layouts responsively.
- Keep asset paths relative (avoid leading
/). React apps should setbasename={import.meta.env.BASE_URL}on the router. - Embed small datasets inline so pages open without a server.
Push your changes to the main branch and enable GitHub Pages in the repo settings using Deploy from branch with the root folder. Each app folder then becomes available at:
https://<org>.github.io/<repo>/<app-folder>/
This project is licensed under the MIT License.