Open Source · MIT License

Turn Complex Roadmaps into
Clear Visual Snapshots

RoadmapSnap is a config-driven roadmap dashboard for program managers and enterprise teams. Milestones, Gantt timelines, dependency graphs — zero backend, zero build step.

0ms
Build time
0 deps
Runtime dependencies
MIT
Free forever
roadmapsnap.pages.dev
RoadmapSnap dashboard: KPI cards, Gantt timeline with milestone diamonds, and grouped workstreams
📷 Screenshot loads on the deployed page See live demo instead ↗

Why Roadmaps Break Before They're Even Read

Program managers and PMOs waste hours turning raw plans into stakeholder-ready visuals — only for them to go stale within days.

🗂️

Spreadsheet Chaos

Excel timelines break under complexity. Formulas drift, columns misalign, and stakeholders receive outdated snapshots that erode trust.

🔗

Invisible Dependencies

Blocking relationships between workstreams are buried in footnotes. Critical failures go unnoticed until it's too late.

📊

No Executive Clarity

CxOs need KPIs and status at a glance — not dense project tables. The gap between detail and executive summary costs programs momentum.

🏗️

Infrastructure Overhead

Enterprise tools require servers, licenses, and months of IT approval. A roadmap dashboard shouldn't need a deployment pipeline.

Everything PMOs Need.
Nothing They Don't.

Full feature set configured from a single JavaScript file. Edit and refresh — no recompilation, no servers.

🎯

Configurable Milestone Lifecycle

Model any workflow with alternating states and milestones. Status auto-calculates from real dates — no manual updates.

🔗

Recursive Dependency Graphs

Visualize blocking relationships with directional arrows. Define simple or advanced milestone-to-milestone dependencies per deliverable.

📅

Gantt Timeline with Zoom

3, 6, or 12-month views with milestone markers overlaid on bars. Toggle groups, sort, filter, and search interactively.

📤

Multi-Format Export

Export as PNG for presentations, CSV for data analysis, or JSON for integration. Presentation-ready in one click.

📊

Executive KPI Dashboard

Auto-calculated cards showing total, in-progress, done, and at-risk counts. Click any card to filter the timeline instantly.

⚠️

Risk & Descope Tracking

Flag deliverables as at-risk or descoped. Visual indicators surface issues immediately without digging through data.

🌙

Dark Mode Built-In

Crisp dark theme for presentations and low-light environments. Toggle without any configuration changes.

Zero Infrastructure

Runs entirely in the browser. No server, no database, no build step. Open index.html and you're done.

See the Actual Dashboard

Real screenshots from a live RoadmapSnap deployment — no mock-ups, no illustrations, no fake data.

RoadmapSnap — Main Dashboard View Live Preview
Full RoadmapSnap dashboard: KPI summary cards at top, interactive Gantt timeline with coloured deliverable bars, milestone diamond markers, group streams, and today-line indicator
Auto-calculated KPI cards
Colour-coded milestone diamonds
Group/stream rows
Today-line marker
Click-to-filter KPIs
At-risk indicators

Explore the full interactive experience

Dependency graph, dark mode, export panel, timeline zoom, filter bar — all running live.

🚀 Open Live Demo ↗

How RoadmapSnap Works

Clean separation between your data (config.js) and the rendering engine. Edit one file, reload, done.

1

Define Deliverables in config.js

Each deliverable has a name, group, milestone dates, optional dependencies, risk flags, tags, and external links.

2

Configure Workflow & Timeline

Define your milestone lifecycle and set timeline bounds. Labels, colors, and group order are fully customizable.

3

Open index.html

The engine reads your config and renders KPI cards, Gantt timeline, dependency graph, and filter bar instantly.

4

Share or Deploy Anywhere

Host on GitHub Pages, Cloudflare Pages, Netlify, or a shared drive. No backend, no hosting costs, no ops burden.

NS
Not Started
M0
Dev Start
Kickoff
DEV
In Development
M1
Dev Complete
Code freeze
M2
UAT Complete
Signed off
M3
Production
Go live
Done

Built for Enterprise
Delivery Teams

From PMO governance to consulting engagements — wherever you need a stakeholder-ready roadmap fast.

🏛️

PMO Governance

Maintain a single source of truth across all programs. Export for weekly status reports and board packs with one click.

🔄

Enterprise Transformation

Map multi-stream transformation programs with complex cross-dependencies. Keep executives aligned on the critical path.

☁️

Data Platform Migration

Track schema discovery, ETL pipelines, data quality rules, and dashboard delivery with clear milestone accountability.

⚙️

ERP & Platform Upgrades

Manage long-running upgrade programs with phase gates. Surface at-risk workstreams and critical dependencies instantly.

📋

Consulting Roadmaps

White-label by swapping logos and CSS. Deliver polished client presentations without expensive tooling licenses.

📈

Strategic Portfolio Reporting

Filter by group, status, or risk to surface what needs executive attention. Export presentation-ready snapshots on demand.

Up and Running in 60 Seconds

Three ways to get started — pick the one that fits your workflow.

⌨️ Option 1 — Local (Fastest)

Clone and open directly in any browser. No server needed.

# Clone the repo git clone https://github.com/ moises-prat-epm/RoadmapSnap cd RoadmapSnap # macOS / Linux / Windows open index.html
Edit js/config.js → refresh → done.

🌐 Option 2 — Cloudflare Pages

Free global CDN. No build command needed.

1
Fork or push repo to your GitHub account
2
Go to Cloudflare Pages → Connect to Git
3
Select your repository and branch
4
Leave Build command empty
5
Set root directory / → Deploy

🐙 Option 3 — GitHub Pages

Free hosting straight from your repository.

1
Push the repo to your GitHub account
2
Go to Settings → Pages
3
Select your branch (main) as source
4
Live at username.github.io/RoadmapSnap/
Tip: use a private repo + Pages for sensitive roadmap data.

One File. Total Control.

Everything is driven by js/config.js. No code changes, no recompilation — edit and refresh.

// js/config.js — your entire roadmap in one file
const CONFIG = {

  TIMELINE: {
    TODAY:       "16/02/2026",   // DD/MM/YYYY  or "" for auto
    START_MONTH: "01/2026",
    END_MONTH:   "12/2026"
  },

  ENTITY_LABELS: {
    singular:   "Feature",       // e.g. "Project", "Epic", "Initiative"
    plural:     "Features",
    scopeLabel: "features"
  },

  // States and milestones must alternate
  WORKFLOW: [
    { type: 'state',     key: 'NS',  title: 'Not Started'    },
    { type: 'milestone', key: 'M0',  title: 'Dev Start',    color: '#6554c0' },
    { type: 'state',     key: 'DEV', title: 'In Development' },
    { type: 'milestone', key: 'M1',  title: 'Dev Complete', color: '#00b894' },
    { type: 'milestone', key: 'M2',  title: 'UAT Complete', color: '#fdcb6e' },
    { type: 'milestone', key: 'M3',  title: 'Production',   color: '#e17055' },
    { type: 'state',     key: 'DONE',title: 'Done'           }
  ],

  GROUP_ORDER: ["Frontend", "Backend", "Database", "Infra"],

  DELIVERABLES: [
    {
      name:     "User Authentication",   // required, must be unique
      group:    "Backend",
      atRisk:   false,
      descoped: false,
      tags:     ["security", "P0"],
      link:     "https://jira.com/PROJ-123",
      dependencies: [
        "Database Setup",                              // simple
        { task: "API Gateway", from: "M2", to: "M1" }  // advanced
      ],
      milestones: {
        M0: "01/03/2026",
        M1: "30/03/2026",
        M2: "15/04/2026",
        M3: "01/05/2026"
      }
    }
  ]
};
ParameterTypeRequiredDescription
namestringRequiredUnique deliverable name shown in the timeline
milestonesobjectRequiredKey-date pairs matching WORKFLOW keys (DD/MM/YYYY)
groupstringOptionalStream/group for organising rows in the timeline
dependenciesarrayOptionalString names or {task, from, to} objects
atRiskbooleanOptionalShows a risk indicator icon (default: false)
descopedbooleanOptionalStrikes through and greys out the deliverable
tagsarrayOptionalSearchable keywords for the filter bar
linkstringOptionalExternal URL (Jira, Confluence…) shown as an info icon
showInTimelinebooleanOptionalControl timeline row visibility (default: true)

Frequently Asked Questions

A roadmap visualization tool converts project plans into interactive visual dashboards. RoadmapSnap renders Gantt timelines, milestones, and dependency graphs entirely in the browser from a single JavaScript config file — no server, no database, no build step required.
Clone the repository, edit js/config.js to define your deliverables, groups, milestones, and dates. Open index.html in any browser. No terminal commands, no package installs, no configuration beyond that one file.
Add a dependencies array to any deliverable. Simple string names link to the last milestone of the referenced deliverable. Advanced {task, from, to} objects let you link specific milestones. RoadmapSnap renders a recursive dependency graph with directional arrows automatically.
Yes. Connect your GitHub repository to Cloudflare Pages, select your branch, leave the build command empty (no build step needed), set root directory to /, and deploy. Global CDN is included at no cost.
Yes. RoadmapSnap is released under the MIT License. You can use, modify, and distribute it freely for personal or commercial projects without restriction.
Yes. RoadmapSnap supports export to PNG (slides and board packs), CSV (reporting tools), and JSON (integration or archiving). All exports are one-click from the dashboard toolbar.

Your Roadmap,
Clear in Minutes

No backend. No build step. No license fees. Clone, configure, and ship a stakeholder-ready roadmap dashboard today.