Skip to content

harshkmr/Riskpulse

Repository files navigation

⚡ RiskPulse — AI-Driven Project Risk Manager (PMP Framework)

RiskPulse is a premium, single-page web application designed for project managers to ingest project documentation (schedules, logs, status reports) to predict bottlenecks, identify risk triggers, and suggest corrective actions before a project misses key milestones.

Built strictly on the PMP (Project Management Professional) framework, it combines quantitative analysis, qualitative risk registers, dependency scheduling, and Monte Carlo simulations in a sleek, client-side, glassmorphic dark interface.


🚀 Key Features

1. PMP Risk Engine (risk-engine.js)

  • Critical Path Method (CPM): Computes earliest start/finish, latest start/finish, and float/slack times for all tasks to isolate the critical path. Zero-float activities are explicitly flagged as Critical Path.
  • Earned Value Management (EVM): Computes Schedule Performance Index (SPI) and Cost Performance Index (CPI) using project-wide variables (project.budget and project.actualSpend). SPI and CPI default to 0.00 if variables are undefined.
  • PERT Duration Fallback: Dynamically computes expected durations for all tasks using the Beta-PERT formula: $Duration = \frac{O + 4M + P}{6}$ before the CPM pass, guaranteeing non-zero values on the Critical Path.
  • Epoch-Safe Variance Logic: Safely calculates dates schedule variance. Returns 0 if project endDate is missing, preventing Unix epoch date math errors (the "20,000 days" variance bug).
  • Beta-PERT Monte Carlo Engine: Performs 1,000 statistical schedule iterations using rejection sampling to determine P10 (highly optimistic), P25, P50 (median), P75, and P90 (highly conservative) project completion probabilities.
  • PMP Risk Register: Automatically detects schedule slippage, resource overcommitment, milestone risks, deep dependency chains, and circular loops (aborting loops before stacks overflow).
  • Response Planning: Recommends PMP response strategies (Avoid, Mitigate, Transfer, Accept) with context-aware, dynamic corrective actions integrating task IDs and descriptions.

2. Premium Data Visualizations (charts.js)

  • Animated Risk Score Gauge: 0–100 animated gauge showing overall project threat severity.
  • Interactive 5×5 Risk Matrix: Heatmap displaying active risks grouped by probability and impact.
  • Interactive Gantt Chart: Draws dependency linkages, highlights critical path items in crimson, and allows drag-to-resize duration changes.
  • Monte Carlo Probability Histogram: Shows simulated completion date frequency distributions with a Show Confidence highlight dropdown to filter between P10, P50, and P90 boundaries.
  • Resource Overcommitments & Balancing: Highlights overallocated assignees and offers a one-click Balance Resource helper to reassign tasks to lower-loaded team members.
  • Risk Category Breakdowns: Donut chart detailing distribution across schedule, budget, resource, and quality categories.

3. File Ingestion & Storage (data-parser.js)

  • CSV Ingestion: Auto-detects delimiters (comma vs. semicolon) and parses quoted rows for tasks, milestones, logs, and status reports.
  • Schema Validation & Normalization: Performs types checking (e.g. parseFloat checks) to ensure dirty inputs never turn calculation variables into NaN.
  • Atomic State Updates: Ensures local storage updates and UI renders are transactional and execute only upon successful scheduler passes.
  • localStorage Persistence & Auto-Save: Sets state to "Modified" upon changes and triggers a 30-second countdown badge. When the timer hits zero, it displays a pulsing transparent "Saving..." animation before syncing to a green "Synced" state.
  • Tab Close Protection: A beforeunload listener commits active changes to local storage if the browser tab is closed with unsaved modifications.

📁 File Structure

├── index.html        # Main SPA interface layout
├── index.css         # Dark theme typography, animations, glassmorphic UI
├── app.js            # SPA Router, state management, upload controllers
├── risk-engine.js    # CPM, EVM, Monte Carlo, and PMP Risk engines
├── data-parser.js    # File parser (JSON/CSV), validator, and storage manager
├── charts.js         # Canvas-based high-DPI responsive graphics engine
└── sample-data.json  # Cloud Migration Platform mock project dataset

🛠️ How to Get Started

1. Local Setup

Since RiskPulse is built entirely client-side using vanilla HTML5, CSS3, and JavaScript, it requires zero backend servers or database installations.

Clone the repository and open the index page in any modern web browser:

# Clone the repository
git clone https://github.com/your-username/riskpulse.git

# Navigate into the folder
cd riskpulse

# Open in your default browser
open index.html

2. Loading the Demo Project

  1. Open the app in your browser.
  2. Click the "Load Demo Project" button in the sidebar or empty state.
  3. The dashboard will populate with a live project ("Cloud Migration Platform") showing typical risk patterns (delayed tasks, budget overruns, and resource conflicts).

3. Importing Custom Data

To import your own project schedules, prepare a JSON file or a CSV task list matching the schemas below, and drag & drop it directly into the Project Data page.

Supported CSV Task Format:

Your CSV should contain headers matching these fields:

id,name,startDate,endDate,plannedStartDate,plannedEndDate,percentComplete,assignee,dependencies,priority,status,estimatedEffort,actualEffort
T-001,Setup DB,2026-01-15,2026-02-15,2026-01-15,2026-02-10,100,Alex Rivera,,high,completed,80,95
T-002,API Config,2026-02-16,2026-03-10,2026-02-11,2026-03-05,45,Sarah Chen,T-001,critical,in-progress,120,150

📊 Application Architecture

graph TD
    User([Project Manager]) -->|Upload JSON/CSV or Edit Form| UI[index.html / app.js]
    UI -->|Raw Data String| Parser[data-parser.js]
    Parser -->|Validate & Normalize| CleanData[(localStorage)]
    CleanData -->|ProjectData Payload| Engine[risk-engine.js]
    Engine -->|EVM, CPM, Monte Carlo, Risks| Controller[app.js Controller]
    Controller -->|Draw Instructions| Charts[charts.js]
    Charts -->|Canvas Rendering| Dashboard[Interactive UI Panels]
    Dashboard -->|Insight| User
Loading

🎨 Theme & Typography

  • Base Theme: Sleek deep-navy/slate palette (#0a0e1a base / #111827 secondary).
  • Glassmorphic Panels: Custom card classes using backdrop-filter: blur(20px) and semi-transparent borders.
  • Typography: Integrated with Inter (Google Fonts) for crisp readability and monospaced digits for calculation displays.
  • Responsiveness: Fluid layout adjustments matching mobile, tablet, and widescreen layouts.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

RiskPulse — AI-Driven Project Risk Manager A PMP-aligned web application for quantitative project risk analysis. RiskPulse utilizes Beta-PERT Monte Carlo simulations, Critical Path Method (CPM) scheduling, and Earned Value Management (EVM) to proactively identify bottlenecks, slippage, and resource contention in real-time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors