DSIT Codefest — Pathfinders Prototype
Challenge 4: Knowing Your Organisation
“The AI Programme spans 6 departments. Today it takes 2 weeks to answer a ministerial PQ about headcount and spend. Our tool answers it in 10 seconds.”
Monorepo structure
apps/
api/ Node.js + Express — normalisation engine + REST API (port 8000)
dashboard/ React + GOV.UK Design System + Recharts (port 3000)
packages/
data/ Mock departmental CSV exports + field mapping configs
Quick start
# Install all dependencies
npm install
# Run everything in parallel (dev mode)
npm run devOr run individually:
# Terminal 1 — API
cd apps/api && npm start
# Terminal 2 — Dashboard
cd apps/dashboard && npm run devThen open http://localhost:3000
Turbo tasks
| Command | What it does |
|---|---|
npm run dev | Starts api + dashboard in watch mode |
npm run build | Builds dashboard for production |
npm run start | Starts api + dashboard (production) |
The demo
- Open http://localhost:3000 → Overview + PQ Answerer
- Type “How many civil servants are working on AI?” → 122 FTE, instant
- Workforce tab → filter by programme → dept/grade breakdown
- Spend tab → quarterly trend, £m breakdown by department
- Gap Analysis tab → heatmap of under-resourced departments
The normalisation story: DSIT calls it Programme, HMRC calls it Priority_Area, DWP calls it Strategic_Objective. The tool knows they’re the same thing.