For an IMF bid, an agentic pipeline turned 26 institutional documents into three working governance portals in fourteen days.
Agents converted the brief into research, specifications and running code. I led the design and governed the six gates where a person decided what was correct before anything moved on.
Role
Lead UX Designer
Team
Seven: a senior product manager, a product manager, four developers and me
Replay · the first gate, as the project's record has itThe agentsA person
brief.md · IMF Voting Portal
Agents · reading the brief
26 institutional documents in. Five kinds.
Governance frameworks
Platform requirements
Technical architecture
Operational standards
Process & scheduling
research.mdWritten
25 claims, each tagged with its source
6 IMF documents16 public research3 synthetic, flagged
26Source documents in
6Gates, each closed by a person
14Days, brief to submission
32Screens out, in running code
What the pipeline produced
Three portals on one set of institutional rules. Each one and why it had to be right:
Voting Portal
For governors, alternates and transmitters
Where governors cast their votes on the resolutions assigned to them. Each vote carries its country's voting power, so a lost submission or an unclear state changes an institutional outcome.
22use cases, 12 of them exceptions
Admin Portal
For secretariat administrators, staff and OED officers
Where the secretariat creates each vote, watches submissions arrive from 191 members and certifies the result. Every outcome is checked against what this portal records.
9steps to create a single vote
Meeting Portal (BCMS)
For board-calendar and meeting participants
Runs the board calendar, where each consultation moves from deliberation to a voting window. People act on its dates, so every state has to read the same to everyone.
37transitions across 14 states
02 · The pipeline
26 documents. 191 nations. No room for ambiguity.
Scale was the easy part. The hard part was turning voting power, meeting rules, role authority and audit duties into screens a finance minister could trust without asking what they meant.
Membership
191member nations, and a vote counts by voting power, not one per country
So one result reads two ways
68.7% of voting power in favour, from 71 of 191 countries.
IMF identity & accessibilityVisual system, WCAG AA, interaction rules
What the RFP asked for
More than mockups: a defensible chain from institutional rule to product behaviour to working prototype.
Every link is a file in the project's record:research.md→brief.md→user stories→sync-report.md→coded drafts→confidence.md
Six stages, each closed by a person.
Agents drafted the research, the specs and the screens in hours. Nothing reached the next stage until I had read it, corrected it and signed it off, because in a governance system plausible is not the same as correct.
01
Convert
research.md
Documents into sourced claims
Interpret
02
Extract
brief.md
Claims into a product brief
Align
03
Structure
user stories
The brief into stories and use cases
Decide
04
Synthesise
sync-report.md
Requirements traced to screens
Refine
05
Generate
coded drafts
Screens in running code
Validate
06
Scaffold
confidence.md
The round scored against a 90% gate
Approve
Fixed before any agent ran
Evidence tags
Every claim in the research carried its source: IMF's own documents, public research or synthetic. Synthetic meant direction only.
A scored threshold
Each round was scored on evidence, completeness, consistency, implementability and alignment against a 90% gate. Below it, a person chose the next step.
Identity and accessibility
IMF's approved mark, WCAG AA and keyboard operation were set before the first screen and enforced in code across all three products.
Six times the gate changed the answer.
Every stage paired something the agents did fast with a decision a person had to make. These six changed what shipped. Each one is in the project's own record.
What the agents producedWhat a person decided
26 source documents
01 · Convertresearch.md25 of 25 sourced
It labelled its own guesses
Every research claim carried its source: 6 from IMF documents, 16 from public research, 3 synthetic.
6 IMF documents16 public research3 synthetic, flagged
Interpret
The five personas were marked synthetic and used for direction, never as evidence.
AdjustmentsClaims sourced25 of 25Personasevidence → direction
research.md and prototype documentation.md were checks on understanding: did the team read the domain the same way, before a single specification was generated?
02 · Extractbrief.md
The first brief was the wrong product
The first brief scoped one portal for governors and the secretariat together.
1 portalGovernors and the secretariat
Align
At the first gate I separated them, because they answer for different things. That correction is why there are three portals.
AdjustmentsAudience+ secretariat → governorsAdmin Consolein → separate sitePortals1 → 3
03 · Structureuser storiesGap flagged
The requirements had no “Cast Vote”
The requirements held seven stories for the voting portal and none for casting a vote, the one action it exists for. The workflow flagged the gap.
US-5.1.4
US-5.1.5
US-5.1.6
US-5.1.8
US-5.1.10
US-5.1.11
US-5.1.12
Cast Vote: none
Decide
I wrote the story from the business requirements and took it to the analyst.
Its weakest score was alignment with the people it was built for, after the scope correction at the first gate. That is the one score a machine cannot raise on its own.
Voting Portal
Governors · Alternates · Transmitters
Admin Portal
Secretariat administrators · Staff · OED officers
Meeting Portal (BCMS)
Board-calendar and meeting lifecycle participants
03 · What the pipeline produced
One institutional system, three task environments.
Each portal is shaped by what its people answer for, and all three stand on the same rules. Pick one to see the screen and the call I made on it.
Voting Portal · My Votes1 of 3
Built for
Governors · Alternates · Transmitters
The call
Assigned votes surface as scannable cards. Nothing is buried behind a search.
22
use cases, 12 of them exceptions
96
user stories
5
screens
Under all three
Six institutional rules enforced in code, a 25-claim evidence log with every source tagged, a WCAG AA target with automated accessibility checks and one derived IMF palette.
Past the happy path
The happy path was the easy part. The voting portal alone handles a deadline passing mid-submission, a dropped connection as a vote is cast, a session expiring on the confirm screen and two people, a Governor and an Alternate, opening the same vote at once.
A system can look correct and still leave a governor unsure whether a motion actually passed.
04 · The hardest calls
Making governance states visible.
The agents could generate every state the rules named. Deciding what a governor should see in each one was the hardest part of the work: which state a vote is in, what they are allowed to do about it and whether the result is legitimate.
What needs my vote?
Draft
→Pre-Open
→Active
→Pending Results
→Finalised
Active→Suspended
An active vote can be halted on procedural grounds. Suspension is a state of its own with its own view, because inside an institution a paused vote is a legitimate outcome that people still have to reason about.
Did the motion legitimately pass?
Admin Portal · Vote resultsDEV-IMF-2026-004
Both readings
Gate · Validate · result viewTwo readings of legitimacy
Every result view carries both readings of legitimacy. Publishing only the weighted figure would have been accurate and, for most of the room, misleading.
A vocabulary for state, derived from the approved mark
IMF's approved palette alone could not carry three products' worth of hierarchy, states and warnings. We agreed derived shades and tones that kept accessible contrast without breaking the institution's identity.
900#001E60Identity anchor
700#004C97Primary action
500#2F6FAESecondary marks
100#DBE7F5Surfaces
50#F0F5FBTinted panels
Meeting Portal · Motions
One table, six encoded meanings: motion type, lifecycle status, voting actor, choice, outcome and urgency. Colour never carries a state on its own; every pill also carries a word.
Admin Portal · Monitoring
What needs action shows within three seconds of login. Each vote’s state, status line and participation sit on the same card, so triage never requires opening a record.
05 · Reviewed in the build
No handoff. The running build was the design review.
The pipeline's last stage had no handoff. For two weeks I refined interface decisions directly in frontend code and pushed reviewable updates to the Azure monorepo every one to two hours.
01Design decision
02Frontend code refinement
03Azure monorepo push
04Running build review
05Feedback
06Next iteration
Design surface: the running build. There was no handoff step.
Every review argued with something that ran. It mattered most for the meeting portal, where scheduling states and calendar behaviour had to be checked against real dates on a real calendar.
There was no Figma file to hand over. The design was the running code, and every review happened inside it.
06 · After day 14
Faster drafts, the same burden of proof.
The agents took on decomposition, specification, prototyping and testing. Deciding what is correct inside an institution stayed with a person.
Agents
Execution accelerated
Three working platforms in place of three decks
A two-week RFP proof of concept
Specs, tests, traceability and working routes
A coded prototype with real workflow depth
Judgement protected
Role clarity and trust boundaries
State visibility
Accessibility
Visual-system restraint
Human approval gates
In a governance system, the dangerous output is the plausible one.
Seven decisions the pipeline could not make on its own
Personas kept as direction
One portal became three
Cast Vote written by hand
Seven requirements back as questions
Override worded neutrally
Accepted at 84%, risks logged
Both readings on every result
Where it went next
The same way of working then went to EPAM teams designing for Canadian Tire, Novartis and GoTo.
What I would change
If I ran it again, the first thing I would buy is an hour with a real governor: the personas were our weakest evidence, and the scorecard said so.