A standalone HTML radar to visualize how engineering practices are adopted across teams.
- Netflix: dark theme, resilience & chaos engineering focus
- Spotify: green theme, squad autonomy & platform engineering
- Anthropic: warm theme, AI safety & reliability
Data files are in examples/.
- Copy the example data file and edit it with your own teams, practices, and scores:
cp data.example.json data.json- Build the radar:
makeOr build from a specific data file:
make DATA=examples/netflix.json- Open
radar.htmlin your browser.
data.json contains all your configuration:
| Field | Description |
|---|---|
title |
Main heading displayed at the top |
subtitle |
Description below the title |
logo |
URL to a logo image (leave empty to hide) |
teams |
Array of team names (column headers) |
theme |
Colors for background, text, accent, borders, quadrants, etc. |
adoptionLevels |
Colors for each fixed level (na, aware, emergent, intentional) |
sections |
Practice groups (become radar quadrants) |
notes |
Optional notes displayed at the bottom |
Each practice has:
name: display namelink: URL to documentation (optional, leave empty string)levels: array of scores, one per team, matchingadoptionLevelsvalues
The radar uses a fixed 4-level scale designed to capture where each team stands on a practice adoption journey; from not applicable, through awareness without action, to deliberate and consistent use. These levels are not arbitrary: they reflect a progression model where the key inflection point is the shift from knowing about a practice to actively applying it.
Only color and textColor are customizable per level:
| Value | Key | Label | Meaning |
|---|---|---|---|
| 0 | na |
N/A | Practice does not apply to this team's context |
| 1 | aware |
Aware | Practice is known but not adopted, counts against adoption rate |
| 2 | emergent |
Emergent | Practice is being adopted, usage is growing but not yet consistent |
| 3 | intentional |
Intentional | Practice is deliberately and consistently applied |
The Adoption Rate is the percentage of applicable practices (excluding N/A) that have reached at least Emergent level. An "Aware" score actively lowers the rate, reflecting that awareness without action is not adoption.
make injects the contents of data.json into template.html at the /** @DATA@ */ placeholder, producing a self-contained radar.html file. No server required.
makepython3(available on macOS and most Linux distributions)