JSP 850 Analysis Dashboard
Interactive visual analysis of a large MOD policy document — hierarchical structure, cross-references and content classification, mapped as sunburst and Sankey diagrams.
What it does
The dashboard turns a single large, hierarchically-structured MOD policy document into something explorable rather than read start to finish: a sunburst chart shows how content is distributed across the document’s section hierarchy and classification types (policy statements, standards, guidance, procedures, and so on), and Sankey diagrams trace how sections reference each other, at whichever level of the hierarchy the user chooses to look at.
How it works
A parsing pass reads the source document into a flat table — one row per section, with up to seven levels of heading hierarchy, a content classification, and content length — then resolves internal cross-references into a reference network. From there, several purpose-built dashboards render different views onto the same underlying data: a sunburst for hierarchical content distribution, a treemap as an alternative view onto the same structure, and Sankey diagrams at multiple zoom levels for reference flow. Each dashboard exports to a single self-contained HTML file with the data embedded directly in it, so it opens in any browser with no server or Python environment required.
The interesting problem
TODO (James) — the section a technical reviewer reads first: likely candidates are parsing a genuinely messy, deeply nested document structure into clean hierarchical data, or turning a large reference network into a Sankey diagram that stays legible rather than becoming an unreadable tangle.
Stack and why
Plotly/Dash was chosen for the interactive exploration work during development, but the final deliverable exports to static, standalone HTML — embedding the processed data directly in the page — so the dashboards can be handed to someone without a Python environment and still work exactly the same way.
What I would do differently
TODO (James) — short, in your own words.
Stack
- Python (pandas)
- Parsing the document's heading hierarchy (up to seven levels deep) and cross-references into structured tabular data
- Plotly / Dash
- Interactive sunburst, treemap and Sankey visualisations of document structure and reference flow
- Static HTML export
- Standalone, server-free dashboard files (GOV.UK-styled) for distribution without a Python environment
- Repository — private repository