Back to home

Org Charts

I built a tool that draws organisation charts from code, so they are always up to date.

The problem

I worked on a UK government programme with over 200 people in more than 15 teams, called pods. Information about who was in each team was spread across spreadsheets and people’s memories.

No one had a clear, accurate view of:

When there was an incident, it took time to work out who to call. It was hard to work out which team should pay for what. New starters took days to get set up.

What I built

I built a tool that draws team diagrams from the code that already lists team members and what they can access. The diagrams stay up to date because they come from the same source as the real setup.

  1. Read the CSV files that list the members of each team.

  2. Read the YAML files that say which teams use which cloud accounts, and what they can do there.

  3. Draw diagrams in layers, from the pods down to each person.

  4. Redraw them automatically. One script makes new, dated SVG files whenever the data changes.

The examples below use made-up data.

Pods and teams

Flowchart showing team membership mapped to groups and then to cloud account entitlements.
How team membership gives people access to cloud accounts. Select to enlarge.

Which pod owns which cloud accounts

PodAccounts
Reactor Operationsreactor-monitoring-dev, reactor-monitoring-prod, cooling-systems-prod, turbine-telemetry-prod
Safety & Compliancesafety-alerts-dev, safety-alerts-prod, inspection-reports-prod
Corporatepayroll-prod, burns-manor-backup, donut-ordering-sandbox
Researchexperiments-sandbox, waste-tracking-prod

How I used AI

I used an AI tool (Amazon Kiro) as a coding partner. It:

This took one afternoon instead of two to three days.

The AI did not do the thinking. I decided the structure, and I checked every result against the real organisation before sharing it.

Tools used

ToolWhat it does
PythonReads the CSV and YAML files and builds the data
GraphVizDraws the SVG diagrams
TerraformHolds the team, account and access definitions
Amazon Kiro (AI)Helped write the code and adjust the layout
BashRuns the script that redraws the diagrams