How Delphi Pronoia's two interfaces are built
Pronoia has two faces. A panelist sees one; a facilitator sees the other. They are not two applications and not two versions of the same screen. They are two questions asked of one running study, and the whole design follows from the fact that the two questions are different.
This guide explains the idea and the structure. The two guides beside it walk through the process — what actually happens, in order, with what on the screen.
1. One study, one truth
Both interfaces read the same two facts:
current_round |
which round the study is on (0 = orientation, 1…N = Delphi rounds) |
current_phase |
response · dialogue · revision · closed |
Everything visible is derived from those two. There is a third field,
Study.status, and it is a presentation — a label derived from the round and
the phase. Nothing decides anything from it.
This sounds like an implementation detail. It is the reason the interfaces are
trustworthy, and it was learned the hard way. Before August 2026 the question
"which round are we on" was answered by five surfaces reading three different
sources, one of which recognised rounds by matching the strings round1,
round2, round3 — so in a four-round study, round 4 never highlighted
anywhere. Two surfaces could disagree for fifteen seconds because one polled and
the other did not.
The rule that replaced it: round and phase are the truth; anything else is a label. When you see the same fact in two places in Pronoia now — the round selector and a banner, say — they are two readings of one computation, not two computations.
2. The panelist interface
2.1 The idea
The panelist's question is "what is open for me now?" — not "what is the state of the study". The view answers that question directly and organises itself around the answer.
Five principles govern it:
P1 · The phase organises the view, not the menu. What you land on is what is open for you. The facilitator's switches decide exceptions, not the normal case.
P2 · The panel's process is always visible; the panel's content only after you have answered. "27 of 40 have answered", "two new comments since your last visit" — these say nothing about what the panel thinks, so they cannot anchor your judgement. The distribution, the average and other people's arguments do, so they wait until you have answered. The condition is per thesis, not per page: answer this thesis, see this thesis's distribution.
P3 · The frame never changes; the main column changes. Same heading, same menu button in the same place, the form always in the same spot. Not different pages — the same page in different states. A returning panelist needs recognisability more than a per-phase optimum.
P4 · An empty service is not in the menu. Every menu row is a promise that something is there. A "Group comparison" that opens empty is worse than no row. Emptiness is computed from the data, not switched on by hand.
P5 · The description and the notices are not extras. The study description sits above the form on first answering; the privacy and AI notices are always reachable. These are part of what the panelist consents to — not content that has to earn its place by being interesting.
2.2 The structure: six states
The panelist view has six states, defined by the panelist's own question:
| State | When | The panelist's question | |
|---|---|---|---|
| S0 | Not open yet | invited, nothing opened | "What am I coming into?" |
| S1 | Your turn to answer | response phase, no answer from you | "What am I being asked?" |
| S2 | Answered, round still open | response phase, you have answered | "Did that go through?" |
| S3 | Dialogue turn | dialogue or revision phase | "What did the others think — do I change my mind?" |
| S4 | Between rounds | round closed, next not open | "What came of it? What next?" |
| S5 | Finished | study completed | "Where did this lead?" |
S4 is the richest moment of the whole process, and it is easy to waste. It is where a panelist sees what the round produced and forms the view they will bring to the next one.
2.3 What is on the screen
The frame is constant: title, Panel pulse (how far the round has got), the menu, and the main column that changes with the state.
- Panel pulse shows process, never content: how many have answered, what has changed since your last visit, whether the round is live.
- More services is an index, not a drawer of extras — and by P4 it only lists what actually exists for this study.
- AI panelists are marked wherever they have an effect. If the panel includes AI participants, the panelist is told so, and AI contributions are marked in the distribution as well as in the text. This is not a footnote in the terms; it is a mark on every surface where an AI answer counts.
2.4 Two ways to name the journey
The same structure can be shown in two vocabularies, chosen per study:
| Story | Plain | |
|---|---|---|
| Round 0 | Threshold · Kastalia | Start · preparatory chat |
| Rounds | Lesche · panel rounds | Rounds · answering and dialogue |
| Analysis | Temple · Kassotis | Analysis · processing the results |
This is naming, not structure: the states, the rules and the surfaces are identical. A study that wants the Delphic imagery gets it; a municipal panel that would find it strange gets plain words.
3. The facilitator interface
3.1 The idea
It is tempting to mirror the panelist view: the study is in the dialogue phase, so show the facilitator the dialogue phase. That is wrong, and the reason is the whole design.
The facilitator's phase is not the study's phase. The panelist asks "what is
open for me"; the facilitator asks "what is my work right now", and the two do
not coincide. While the response phase is open, the study's phase is response —
but the facilitator's work is monitoring, and preparing the next round. A
straight mirror would give the facilitator a screen that says "wait".
So the unit is not the phase. It is (round, phase) → the facilitator's task, and there are four kinds of task:
| Study is… | The facilitator's task | Lands in |
|---|---|---|
| Draft | building | Planning |
| Round 0 open | monitoring + intervening | Collection |
| Round N, response | monitoring | Collection |
| Round N, dialogue | monitoring + moderating | Collection |
| Round N, revision | monitoring | Collection |
| Between rounds | preparing | Analysis |
| Finished | reporting | Reporting |
Plus one thing that is not a place at all: intervention — advance, open, close, handle an exception. It is never its own screen; it is always present where it applies.
3.2 The structure: two levels and a bar
Both levels are at the top of the screen, in one navigation that stays in place while you scroll. A choice always brings the work directly beneath it, so there is nothing to look for. Only "What now?" sits above the navigation, and it scrolls away once the work begins (3.7).
Level 1 — the kind of work. Four buttons, always the same four:
Planning · Collection · Analysis · Reporting
Level 2 — where the work happens. Tabs that belong to the current kind of work:
| Planning | Collection | Analysis | Reporting |
|---|---|---|---|
| Overview · Settings · Panelists · Theses · AI panelists · section Rounds | (Round 0) · Situation · Invitations · Facilitation · Community · Responses · (Waves) | Summary · Statistics & change | Export · sections Reports and Maintenance |
Three newer blocks live inside these: View as panelist (the preview) is on the response-link card in Collection, the Timeline — reasoning and dialogue is in Collection's Responses, and the pick basket Thesis material for the next round is in Analysis above the thesis list — and opens beside the thesis editor in Design when a new thesis is written.
The bottom bar — "Always available". Ten things that belong to no round and no kind of work:
Settings · Responses · Panelists · Theses · Community · Summary · Team & access · Results · Export · Method library
A door carries its destination's name: Responses leads to the tab of that name in Collection, Summary to the one in Analysis. One place, one name — even when a place has two doors (decision K2).
Two of these deserve a note.
- Export appears twice on purpose. Reporting is a phase — what you do at the end. Export is a function — something you can do at any moment. Same view, two different questions, two different moments.
- Results is the only item that is not a tab. It opens a Results so far window over your current work. Glancing at an earlier round must not take you away from what you are doing, so it is a window and not a destination. It contains no editing surface at all; there is exactly one way onward — Open in Analysis → — and all editing happens there.
Collection's level 2 is a process. The order is the order in which the work is done: Situation tells you where things stand, Invitations is the first act, Facilitation gathers the round's settings (deadline, dialogue phase, visibility and interaction), Community is communication — the same view as Community in the bottom bar — and Responses is the per-thesis result. Round 0 comes first when the study runs it, and Waves last in the Barometer.
Collection shows the open round. There is no way back into a closed round: its material is read in Analysis, and the server refuses to change a closed round's dialogue, phase rules or schedule. Settings decided before a round begins — opening time and adding a round — are in Planning's Rounds section, and exceptions — changing the phase by hand and resetting an old round — in Reporting's Maintenance.
The bottom bar also shows your role and AI balance. They are information, not doors: they lead nowhere, but they are always visible.
3.3 Default, not compulsion
The phase decides where you land and what gets weight — it does not decide where you may go. The rail stays free, because in a Delphi study you return to planning in the middle of collection: round 2's theses are built while round 1 is still running.
When you are looking somewhere other than where the study is, the view says so. It does not stop you and it does not hide anything; it just refuses to let you believe you are looking at the current round when you are not.
3.4 "Applies to:" — the marking that prevents the worst mistake
Planning contains five things, and they are not all the same size:
| What | Applies to |
|---|---|
| Description, phenomenon frame | the study |
| Settings (orientation, variation, language, AI mode) | the study |
| Rounds (dialogue, visibility policy, schedule) | each round separately |
| Theses | each round separately |
| Panel | the study — but participation is per round |
So when you are preparing round 3, you must know whether you are editing round 3's theses or also round 1's. Every planning view carries a marking that says which: Applies to: the study / Applies to: round 3. Round-scoped editors take the round as an explicit parameter — never "whatever is current".
3.5 AI actions are in the background, behind a control
If the panel includes AI panelists, the Collection view shows a card that says how many there are. The actions — generating responses, comments, reactions, revisions — are behind AI actions ▾.
The reason is not tidiness. A block of AI operations rendered straight into the main column grows the very column the whole design is trying to shorten, and it puts machine operations in front of the work that is actually the facilitator's at that moment: watching a human panel answer.
If the actions are not available, the card says why — the first round has not been opened, round 0's AI sessions are generated from the Round 0 view, or the study has ended. An absent surface that gives no reason is indistinguishable from a broken one.
3.6 One panel, one list
The panel is a single list in which AI participants are marked — participant_type
is a column on a panelist, not a different kind of object. But a default view
listing every panelist would, in several existing studies, be data rather than a
panel: measured on 25.8.2026, the database held 80 AI panelists and 33 people.
So the panel view has a filter — SHOW: All · People · AI — which is view state and changes nothing. The row always shows all three counts, so what is hidden is readable rather than inferred.
3.7 "What now?" — the card that also says why
The status card's top row names where you are in the arc — Planning, Round 1 running, Pause after round 1 — prepare round 2, Ending. Below it are the next 2–3 steps, and the order is itself information:
blocker before gap · gap before transition · transition before this phase's work
Each step carries three things. The reason says where the prompt comes from (blocked · missing · next phase · this phase's work); a blocking reason is amber. The door is a button that takes you there and scrolls the control into view. The rationale is a small ? that opens the method library at the right article — the rationale is a door, not a sentence written into the card.
The card blocks nothing. When nothing is required, it shows this phase's work: empty is an answer, not an empty card.
A blocker is visible before you hit it. The card asks the gates in advance, so it never prompts you past what would stop you — "Choose the instrument for round 2" appears before you press forward, not afterwards as an error.
The card is at the very top of the screen, above the navigation. You can collapse it when the space is needed for work — but even collapsed, the card shows the first step if that step is a blocker.
3.8 The phase narrows what you see
The Collection view has a row, Informing and interaction, below the AI runs: reminder, message to the panel, invitations. It is not a new view but doors into existing actions, and its contents follow the phase — in the response phase reminder · message · invitations, in dialogue only message, in the pause message · pause notice.
For the same reason some sections fold by phase: what does not belong to the work at hand is a chip rather than a block. Folding is a default, not a rule — your own choice wins, and a folded section leaves the chip that opens it.
3.9 The contents row — a view's sections on one line
Views with several sections (Responses, Community, Summary, Statistics & change, Waves) have a CONTENTS row at the top. Its chips are the view's sections, and a chip's name is a door: it takes you to the section and opens it if the phase has folded it (3.8). The small × after a chip hides the section. A dashed, faded chip means the section has no content in this study yet — it leads nowhere, because there is nothing there.
For example, Analysis's Statistics & change view holds seven analyses — thesis stats, convergence, key figures, dialogicity, shift directions, revisions and refresh — and Summary holds, among others, highlights and the epistemic 7×3. The contents row is their index.
3.10 Mail goes out as a letter
Every Pronoia mail goes out in two versions: as plain text and as a letter. The mail program shows the letter; a program that does not display HTML shows the same text as before. You still write only the text — the letter is built around it: the study's name at the top, [link] turns into a button where you wrote it, and at the end the contact person and a note that the recipient can reply directly. The letter has no images and no tracking: you will not learn when a panelist opened the message, and it was never promised to them.
4. The same round, from both sides
| The panelist sees | The facilitator sees | |
|---|---|---|
| Round opens | S1 "your turn": theses, form, description | Collection · Responses: accumulation, reminders, advance |
| While answering | pulse (process only), own answer confirmed | who has answered, per thesis and per panelist |
| After own answer | S2, and the distribution for the theses they answered | the whole distribution |
| Dialogue | S3: others' arguments, anonymous, AI marked | comment stream, AI activity, moderation |
| Round closes | S4: what came of it, what next | preparing: what the round produced → next round's theses |
Read that table downwards and the two designs are one design: the panelist gets content when it can no longer anchor them; the facilitator gets it immediately, because their job is to see it.
5. What the interfaces deliberately do not do
Five rules that explain absences you might otherwise read as gaps:
- No empty service. A menu row that opens onto nothing is removed, not left as a promise.
- No second computation of the same fact. There may be several buttons that advance a round; there is one computation of what "advance" means. Two buttons are fine, two answers are not.
- AI is marked on every surface where it has an effect — not disclosed once and then forgotten.
- A closed round stays closed. Its participants and its results are history. Changing them afterwards would silently change a response rate that has already been shown and possibly analysed, and comparison between rounds is the core of the method.
- Pronoia describes; it does not interpret. Distributions, movement between rounds, who said what — those are description. Interpretation is the analysis ecosystem's job, and the boundary is deliberate.
Written 25.8.2026, against the interfaces as rebuilt on 23.–25.8.2026. Button and
tab names are taken from the application's own English strings. The specifications
behind this text are docs/UI_Panelistin_nakyma_IA_v2.md and
docs/UI_Vaihearkkitehtuuri_IA_v2.md; where they and this guide disagree, they are
right and this is stale.