From 9e511b5b574a94f36ac0804d25bcb2cd81c28983 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Wed, 23 Sep 2026 15:09:35 +0200 Subject: [PATCH] runs: uhhm.no from a plan, three rounds of wording Sonnet writes, qwen3:8b routes: 16 then 19 of 27 with descriptions, 19 then 21 of 27 on headings alone. One card took seven personas until it named redoal; what remains is on the front door and mostly a judgment the plan could make differently, not the words. Co-Authored-By: Claude Fable 5.1 --- runs/uhhm-2026-09-23/README.md | 69 ++ runs/uhhm-2026-09-23/answers-full.jsonl | 27 + runs/uhhm-2026-09-23/answers-skim.jsonl | 27 + runs/uhhm-2026-09-23/iris.log | 23 + runs/uhhm-2026-09-23/model.json | 939 ++++++++++++++++++ runs/uhhm-2026-09-23/overrides-r3.json | 23 + runs/uhhm-2026-09-23/overrides.json | 54 + runs/uhhm-2026-09-23/r1/answers-full.jsonl | 27 + runs/uhhm-2026-09-23/r1/answers-skim.jsonl | 27 + runs/uhhm-2026-09-23/r1/rated/rate.json | 274 +++++ runs/uhhm-2026-09-23/r1/score.log | 39 + runs/uhhm-2026-09-23/r1/site/aggregates.yaml | 113 +++ .../site/llm/01-questions_build_index.yaml.md | 174 ++++ .../llm/02-questions_custodians_index.yaml.md | 108 ++ .../llm/03-questions_decide_subscribe.yaml.md | 60 ++ .../r1/site/llm/04-questions_index.yaml.md | 136 +++ .../site/llm/05-questions_join_index.yaml.md | 208 ++++ .../llm/06-questions_owners_index.yaml.md | 236 +++++ .../07-questions_owners_prospect-sent.yaml.md | 52 + .../llm/08-questions_owners_prospect.yaml.md | 92 ++ .../09-questions_received_collaborate.yaml.md | 52 + .../10-questions_received_commission.yaml.md | 52 + .../llm/11-questions_received_custody.yaml.md | 52 + .../llm/12-questions_received_propose.yaml.md | 52 + .../13-questions_received_subscribe.yaml.md | 52 + .../llm/14-questions_received_trial.yaml.md | 52 + runs/uhhm-2026-09-23/r1/site/needs.yaml | 173 ++++ .../r1/site/questions/build/index.yaml | 94 ++ .../site/questions/custodians/_section.yaml | 1 + .../r1/site/questions/custodians/index.yaml | 65 ++ .../r1/site/questions/decide/subscribe.yaml | 9 + .../r1/site/questions/index.yaml | 63 ++ .../r1/site/questions/join/index.yaml | 110 ++ .../r1/site/questions/owners/_section.yaml | 1 + .../r1/site/questions/owners/index.yaml | 212 ++++ .../site/questions/owners/prospect-sent.yaml | 10 + .../r1/site/questions/owners/prospect.yaml | 39 + .../site/questions/received/collaborate.yaml | 10 + .../site/questions/received/commission.yaml | 10 + .../r1/site/questions/received/custody.yaml | 10 + .../r1/site/questions/received/propose.yaml | 10 + .../r1/site/questions/received/subscribe.yaml | 10 + .../r1/site/questions/received/trial.yaml | 10 + runs/uhhm-2026-09-23/r1/site/site.yaml | 2 + runs/uhhm-2026-09-23/r1/site/words.json | 426 ++++++++ runs/uhhm-2026-09-23/r1/tasks-full.jsonl | 27 + runs/uhhm-2026-09-23/r1/tasks-skim.jsonl | 27 + runs/uhhm-2026-09-23/r2/answers-full.jsonl | 27 + runs/uhhm-2026-09-23/r2/answers-skim.jsonl | 27 + runs/uhhm-2026-09-23/r2/rated/rate.json | 274 +++++ runs/uhhm-2026-09-23/r2/score.log | 35 + runs/uhhm-2026-09-23/r2/site/aggregates.yaml | 113 +++ .../site/llm/01-questions_build_index.yaml.md | 174 ++++ .../llm/02-questions_custodians_index.yaml.md | 108 ++ .../llm/03-questions_decide_subscribe.yaml.md | 60 ++ .../r2/site/llm/04-questions_index.yaml.md | 136 +++ .../site/llm/05-questions_join_index.yaml.md | 208 ++++ .../llm/06-questions_owners_index.yaml.md | 236 +++++ .../07-questions_owners_prospect-sent.yaml.md | 52 + .../llm/08-questions_owners_prospect.yaml.md | 92 ++ .../09-questions_received_collaborate.yaml.md | 52 + .../10-questions_received_commission.yaml.md | 52 + .../llm/11-questions_received_custody.yaml.md | 52 + .../llm/12-questions_received_propose.yaml.md | 52 + .../13-questions_received_subscribe.yaml.md | 52 + .../llm/14-questions_received_trial.yaml.md | 52 + runs/uhhm-2026-09-23/r2/site/needs.yaml | 173 ++++ .../r2/site/questions/build/index.yaml | 94 ++ .../site/questions/custodians/_section.yaml | 1 + .../r2/site/questions/custodians/index.yaml | 65 ++ .../r2/site/questions/decide/subscribe.yaml | 9 + .../r2/site/questions/index.yaml | 63 ++ .../r2/site/questions/join/index.yaml | 110 ++ .../r2/site/questions/owners/_section.yaml | 1 + .../r2/site/questions/owners/index.yaml | 212 ++++ .../site/questions/owners/prospect-sent.yaml | 10 + .../r2/site/questions/owners/prospect.yaml | 39 + .../site/questions/received/collaborate.yaml | 10 + .../site/questions/received/commission.yaml | 10 + .../r2/site/questions/received/custody.yaml | 10 + .../r2/site/questions/received/propose.yaml | 10 + .../r2/site/questions/received/subscribe.yaml | 10 + .../r2/site/questions/received/trial.yaml | 10 + runs/uhhm-2026-09-23/r2/site/site.yaml | 2 + runs/uhhm-2026-09-23/r2/site/words.json | 426 ++++++++ runs/uhhm-2026-09-23/rated/rate.json | 274 +++++ runs/uhhm-2026-09-23/score.log | 34 + runs/uhhm-2026-09-23/score.sh | 16 + runs/uhhm-2026-09-23/site/aggregates.yaml | 113 +++ .../site/llm/01-questions_build_index.yaml.md | 174 ++++ .../llm/02-questions_custodians_index.yaml.md | 108 ++ .../llm/03-questions_decide_subscribe.yaml.md | 60 ++ .../site/llm/04-questions_index.yaml.md | 136 +++ .../site/llm/05-questions_join_index.yaml.md | 208 ++++ .../llm/06-questions_owners_index.yaml.md | 236 +++++ .../07-questions_owners_prospect-sent.yaml.md | 52 + .../llm/08-questions_owners_prospect.yaml.md | 92 ++ .../09-questions_received_collaborate.yaml.md | 52 + .../10-questions_received_commission.yaml.md | 52 + .../llm/11-questions_received_custody.yaml.md | 52 + .../llm/12-questions_received_propose.yaml.md | 52 + .../13-questions_received_subscribe.yaml.md | 52 + .../llm/14-questions_received_trial.yaml.md | 52 + runs/uhhm-2026-09-23/site/needs.yaml | 173 ++++ .../site/questions/build/index.yaml | 94 ++ .../site/questions/custodians/_section.yaml | 1 + .../site/questions/custodians/index.yaml | 65 ++ .../site/questions/decide/subscribe.yaml | 9 + .../uhhm-2026-09-23/site/questions/index.yaml | 63 ++ .../site/questions/join/index.yaml | 110 ++ .../site/questions/owners/_section.yaml | 1 + .../site/questions/owners/index.yaml | 212 ++++ .../site/questions/owners/prospect-sent.yaml | 10 + .../site/questions/owners/prospect.yaml | 39 + .../site/questions/received/collaborate.yaml | 10 + .../site/questions/received/commission.yaml | 10 + .../site/questions/received/custody.yaml | 10 + .../site/questions/received/propose.yaml | 10 + .../site/questions/received/subscribe.yaml | 10 + .../site/questions/received/trial.yaml | 10 + runs/uhhm-2026-09-23/site/site.yaml | 2 + runs/uhhm-2026-09-23/site/words.json | 426 ++++++++ runs/uhhm-2026-09-23/tasks-full.jsonl | 27 + runs/uhhm-2026-09-23/tasks-skim.jsonl | 27 + runs/uhhm-2026-09-23/words-r2.json | 426 ++++++++ runs/uhhm-2026-09-23/words-r3.json | 426 ++++++++ 126 files changed, 11444 insertions(+) create mode 100644 runs/uhhm-2026-09-23/README.md create mode 100644 runs/uhhm-2026-09-23/answers-full.jsonl create mode 100644 runs/uhhm-2026-09-23/answers-skim.jsonl create mode 100644 runs/uhhm-2026-09-23/iris.log create mode 100644 runs/uhhm-2026-09-23/model.json create mode 100644 runs/uhhm-2026-09-23/overrides-r3.json create mode 100644 runs/uhhm-2026-09-23/overrides.json create mode 100644 runs/uhhm-2026-09-23/r1/answers-full.jsonl create mode 100644 runs/uhhm-2026-09-23/r1/answers-skim.jsonl create mode 100644 runs/uhhm-2026-09-23/r1/rated/rate.json create mode 100644 runs/uhhm-2026-09-23/r1/score.log create mode 100644 runs/uhhm-2026-09-23/r1/site/aggregates.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/01-questions_build_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/02-questions_custodians_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/03-questions_decide_subscribe.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/04-questions_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/05-questions_join_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/06-questions_owners_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/07-questions_owners_prospect-sent.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/08-questions_owners_prospect.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/09-questions_received_collaborate.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/10-questions_received_commission.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/11-questions_received_custody.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/12-questions_received_propose.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/13-questions_received_subscribe.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/llm/14-questions_received_trial.yaml.md create mode 100644 runs/uhhm-2026-09-23/r1/site/needs.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/build/index.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/custodians/_section.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/custodians/index.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/decide/subscribe.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/index.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/join/index.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/owners/_section.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/owners/index.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/owners/prospect-sent.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/owners/prospect.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/received/collaborate.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/received/commission.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/received/custody.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/received/propose.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/received/subscribe.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/questions/received/trial.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/site.yaml create mode 100644 runs/uhhm-2026-09-23/r1/site/words.json create mode 100644 runs/uhhm-2026-09-23/r1/tasks-full.jsonl create mode 100644 runs/uhhm-2026-09-23/r1/tasks-skim.jsonl create mode 100644 runs/uhhm-2026-09-23/r2/answers-full.jsonl create mode 100644 runs/uhhm-2026-09-23/r2/answers-skim.jsonl create mode 100644 runs/uhhm-2026-09-23/r2/rated/rate.json create mode 100644 runs/uhhm-2026-09-23/r2/score.log create mode 100644 runs/uhhm-2026-09-23/r2/site/aggregates.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/01-questions_build_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/02-questions_custodians_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/03-questions_decide_subscribe.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/04-questions_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/05-questions_join_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/06-questions_owners_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/07-questions_owners_prospect-sent.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/08-questions_owners_prospect.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/09-questions_received_collaborate.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/10-questions_received_commission.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/11-questions_received_custody.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/12-questions_received_propose.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/13-questions_received_subscribe.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/llm/14-questions_received_trial.yaml.md create mode 100644 runs/uhhm-2026-09-23/r2/site/needs.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/build/index.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/custodians/_section.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/custodians/index.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/decide/subscribe.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/index.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/join/index.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/owners/_section.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/owners/index.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/owners/prospect-sent.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/owners/prospect.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/received/collaborate.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/received/commission.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/received/custody.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/received/propose.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/received/subscribe.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/questions/received/trial.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/site.yaml create mode 100644 runs/uhhm-2026-09-23/r2/site/words.json create mode 100644 runs/uhhm-2026-09-23/rated/rate.json create mode 100644 runs/uhhm-2026-09-23/score.log create mode 100755 runs/uhhm-2026-09-23/score.sh create mode 100644 runs/uhhm-2026-09-23/site/aggregates.yaml create mode 100644 runs/uhhm-2026-09-23/site/llm/01-questions_build_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/02-questions_custodians_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/03-questions_decide_subscribe.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/04-questions_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/05-questions_join_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/06-questions_owners_index.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/07-questions_owners_prospect-sent.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/08-questions_owners_prospect.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/09-questions_received_collaborate.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/10-questions_received_commission.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/11-questions_received_custody.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/12-questions_received_propose.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/13-questions_received_subscribe.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/llm/14-questions_received_trial.yaml.md create mode 100644 runs/uhhm-2026-09-23/site/needs.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/build/index.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/custodians/_section.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/custodians/index.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/decide/subscribe.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/index.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/join/index.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/owners/_section.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/owners/index.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/owners/prospect-sent.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/owners/prospect.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/received/collaborate.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/received/commission.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/received/custody.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/received/propose.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/received/subscribe.yaml create mode 100644 runs/uhhm-2026-09-23/site/questions/received/trial.yaml create mode 100644 runs/uhhm-2026-09-23/site/site.yaml create mode 100644 runs/uhhm-2026-09-23/site/words.json create mode 100644 runs/uhhm-2026-09-23/tasks-full.jsonl create mode 100644 runs/uhhm-2026-09-23/tasks-skim.jsonl create mode 100644 runs/uhhm-2026-09-23/words-r2.json create mode 100644 runs/uhhm-2026-09-23/words-r3.json diff --git a/runs/uhhm-2026-09-23/README.md b/runs/uhhm-2026-09-23/README.md new file mode 100644 index 0000000..b4a643f --- /dev/null +++ b/runs/uhhm-2026-09-23/README.md @@ -0,0 +1,69 @@ +# uhhm.no from a plan, 2026-09-23 + +The live site (uhhm/questions) rebuilt from `plans/uhhm.yaml`: the +five buckets it already holds, with their live state and event names +(`events:` on the plan, new today), plus two new ones. `trials` is +the client feature: a business describes how work flows through it +and an owner approves the intake by hand before anything is built; +the n8n workflow that builds the preview is named as `attended_by` +and does not exist yet. `custody_requests` is UHHM as the custodian +of the redoal network: a desk of its own for the `custodians` group, +which owners watch and invite into. + +Words by Claude Sonnet (`engines/claude.sh`, 142 s for 14 pages), +verifier green by construction. Lifting words from the live repo +(`--words-from`) was tried and dropped: the lift is by position, so +the old front door's three headings landed on the new front door's +first three cards regardless of meaning, and "Attention is earned" +is the wording the 2026-09-21 run found at fault. Visitor: qwen3:8b, +one task per call, shown the whole card; 15 held-out personas, the +eight from `runs/uhhm-2026-09-21` and seven for what is new. + +| Round | Words | With descriptions | Headings only | +|---|---|---|---| +| 1 (`r1/`) | Sonnet, as built | 16 of 27 | 19 of 27 | +| 2 (`r2/`) | + `overrides.json`: the custody card and the cards behind both doors reworded by hand | 19 of 27 | 20 of 27 | +| 3 (`site/`) | + `overrides-r3.json`: the doors as who the visitor is | 19 of 27 | 21 of 27 | + +Round 1's defect was one card: "Get an answer from the people who +keep the network" read as "contact us" and took seven personas of +every kind on the front door. Naming redoal in the heading fixed +that. Inside the doors, "Work with people who read the whole thing" +and "Get a page fixed the way you'd write it" crossed over until they +became "Work with us" and "Suggest a change to this website"; the +join door has routed 3 of 3 on every question since. + +What is left is the front door, and it is mostly not wording: + +- The exhibition visitor ("your drawing network") and the interaction + designer ("the drawing interface") go to the redoal card. The plan + says subscribe and collaborate; the visitor is not wrong. +- The tech journalist ("what you release") and the app builder (redoal + addresses in an app) go to the build door. Fair either way. +- On `/build`, the architecture firm and the climbing gym pick "See + your own business as a site, before you buy anything" over the + brief, with descriptions. A paying client who wants to see first is + the trial's whole point; if the plan should say so, make the trial + the door for both and the brief a field. +- The dance school lands three different places in three rounds: the + visitor model's noise floor, not the page. + +`rate` on round 3: LIX 19 to 33 (very easy to easy) on every page, +against 25 to 35 for the earlier contractor build. Behind the doors, +which/where/asked/next are full marks on every page and every control +passes. On the front door, "which" is 1 of 3 for the brief and 1 of 2 +for the trial and the proposal: a door heading cannot say what each +card behind it says. + +Before the branch (uhhm/questions `trainer-rebuild`) merges: the +site runs portal v0.3.36 and `invite:`/`attended_by` need v0.3.40 or +later, so the branch bumps PORTAL_RELEASE and IRIS_RELEASE to +v0.3.42; the `custodians` group has to exist in id.uhhm.no; invites +need `KANIDM_API_TOKEN` in the repo's secrets, or the two invite forms +fail closed with a message; and any unsubscribe link already sent by +the newsletter points at `/subscribed`, which is now +`/decide/subscribe`. + +Files: `score.sh` runs the whole scoring; `tasks-*.jsonl`, +`answers-*.jsonl`, `model.json`, `rated/` are round 3's; `words-r3.json` +is the words as used, the next rebuild starts from it with `--words`. diff --git a/runs/uhhm-2026-09-23/answers-full.jsonl b/runs/uhhm-2026-09-23/answers-full.jsonl new file mode 100644 index 0000000..9fade07 --- /dev/null +++ b/runs/uhhm-2026-09-23/answers-full.jsonl @@ -0,0 +1,27 @@ +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"architecture-firm@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"architecture-firm@/build"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"climbing-gym-founder@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"climbing-gym-founder@/build"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"municipality-buyer@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"municipality-buyer@/build"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"exhibition-visitor@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"exhibition-visitor@/join"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"tech-journalist@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"tech-journalist@/join"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"rust-developer@/"} +{"choice":"Work with us","confidence":0.95,"id":"rust-developer@/join"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"interaction-designer@/"} +{"choice":"Work with us","confidence":0.95,"id":"interaction-designer@/join"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"student-intern@/"} +{"choice":"Work with us","confidence":0.95,"id":"student-intern@/join"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"plumber-owner@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"plumber-owner@/build"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"dance-school@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"dance-school@/build"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":1.0,"id":"node-runner@/"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"recorded-name@/"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"app-builder@/"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"wording-fix@/"} +{"choice":"Suggest a change to this website","confidence":0.95,"id":"wording-fix@/join"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":1.0,"id":"rewrite@/"} +{"choice":"Suggest a change to this website","confidence":1.0,"id":"rewrite@/join"} diff --git a/runs/uhhm-2026-09-23/answers-skim.jsonl b/runs/uhhm-2026-09-23/answers-skim.jsonl new file mode 100644 index 0000000..1d0413d --- /dev/null +++ b/runs/uhhm-2026-09-23/answers-skim.jsonl @@ -0,0 +1,27 @@ +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"architecture-firm@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"architecture-firm@/build"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"climbing-gym-founder@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"climbing-gym-founder@/build"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"municipality-buyer@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"municipality-buyer@/build"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"exhibition-visitor@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"exhibition-visitor@/join"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"tech-journalist@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"tech-journalist@/join"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"rust-developer@/"} +{"choice":"Work with us","confidence":0.95,"id":"rust-developer@/join"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"interaction-designer@/"} +{"choice":"Work with us","confidence":0.95,"id":"interaction-designer@/join"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"student-intern@/"} +{"choice":"Work with us","confidence":0.95,"id":"student-intern@/join"} +{"choice":"You run an organization that needs software built","confidence":0.95,"id":"plumber-owner@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"plumber-owner@/build"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"dance-school@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"dance-school@/build"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"node-runner@/"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"recorded-name@/"} +{"choice":"You are on the redoal network: a node, an app, or a recording that concerns you","confidence":0.95,"id":"app-builder@/"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"wording-fix@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"wording-fix@/join"} +{"choice":"You want to join us, follow us, or fix a page on this site","confidence":0.95,"id":"rewrite@/"} +{"choice":"Suggest a change to this website","confidence":0.95,"id":"rewrite@/join"} diff --git a/runs/uhhm-2026-09-23/iris.log b/runs/uhhm-2026-09-23/iris.log new file mode 100644 index 0000000..752a08e --- /dev/null +++ b/runs/uhhm-2026-09-23/iris.log @@ -0,0 +1,23 @@ +OK: 14 question(s), 9 aggregate(s) valid +OK: access policy, 53 rule(s), validates +need "commission": / [You run an organization that needs software built] -> /build [Have us build it: send the brief] -> "projects" +need "trial": / [You run an organization that needs software built] -> /build [See your own business as a site, before you buy anything] -> "trials" +need "collaborate": / [You want to join us, follow us, or fix a page on this site] -> /join [Work with us] -> "applicants" +need "subscribe": / [You want to join us, follow us, or fix a page on this site] -> /join [Hear from us now and then] -> "subscribers" +need "propose": / [You want to join us, follow us, or fix a page on this site] -> /join [Suggest a change to this website] -> "development_proposals" +need "custody": / [You are on the redoal network: a node, an app, or a recording that concerns you] -> "custody_requests" +need "prospect": /owners/prospect [Keep an organization on your radar] -> "organizations" +OK: 7 need(s) structurally met, 0 planned, 15 persona(s) +wrote the simulation model to model.json +wrote 27 wording task(s) to tasks-full.jsonl +OK: 14 question(s), 9 aggregate(s) valid +OK: access policy, 53 rule(s), validates +need "commission": / [You run an organization that needs software built] -> /build [Have us build it: send the brief] -> "projects" +need "trial": / [You run an organization that needs software built] -> /build [See your own business as a site, before you buy anything] -> "trials" +need "collaborate": / [You want to join us, follow us, or fix a page on this site] -> /join [Work with us] -> "applicants" +need "subscribe": / [You want to join us, follow us, or fix a page on this site] -> /join [Hear from us now and then] -> "subscribers" +need "propose": / [You want to join us, follow us, or fix a page on this site] -> /join [Suggest a change to this website] -> "development_proposals" +need "custody": / [You are on the redoal network: a node, an app, or a recording that concerns you] -> "custody_requests" +need "prospect": /owners/prospect [Keep an organization on your radar] -> "organizations" +OK: 7 need(s) structurally met, 0 planned, 15 persona(s) +wrote 27 wording task(s) to tasks-skim.jsonl diff --git a/runs/uhhm-2026-09-23/model.json b/runs/uhhm-2026-09-23/model.json new file mode 100644 index 0000000..3811920 --- /dev/null +++ b/runs/uhhm-2026-09-23/model.json @@ -0,0 +1,939 @@ +{ + "needs": [ + { + "id": "commission", + "who": "an organization with a problem it wants software to solve", + "wants": "a considered reply to a brief, from people who read the whole thing", + "enters_as": null, + "lands_in": "projects", + "handled_by": "owners", + "done_when": [ + "accepted", + "declined" + ], + "success": [ + "accepted" + ], + "steps": [ + { + "page": "/", + "question": "Who are you, and what do you need from UHHM?", + "options": [ + { + "name": "You run an organization that needs software built", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything." + }, + { + "name": "You want to join us, follow us, or fix a page on this site", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no." + }, + { + "name": "You are on the redoal network: a node, an app, or a recording that concerns you", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at." + } + ], + "expect": [ + "You run an organization that needs software built" + ], + "alternative": "You run an organization that needs software built", + "fields": [] + }, + { + "page": "/build", + "question": "Do you have a brief, or do you want to see your business as a site first?", + "options": [ + { + "name": "Have us build it: send the brief", + "description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing." + }, + { + "name": "See your own business as a site, before you buy anything", + "description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through." + } + ], + "expect": [ + "Have us build it: send the brief" + ], + "alternative": "Have us build it: send the brief", + "fields": [ + { + "name": "name", + "label": "Your name", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "email", + "label": "Your email", + "type": "email", + "optional": false, + "options": [] + }, + { + "name": "project", + "label": "The problem you want solved", + "type": "textarea", + "optional": false, + "options": [] + }, + { + "name": "organization", + "label": "Your organization", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "org_contact", + "label": "Who we should talk to", + "type": "text", + "optional": true, + "options": [] + } + ] + } + ] + }, + { + "id": "trial", + "who": "someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything", + "wants": "a first draft of a site for their own roles, built from their own words and approved by a person first", + "enters_as": null, + "lands_in": "trials", + "handled_by": "owners", + "done_when": [ + "previewed", + "declined" + ], + "success": [ + "previewed" + ], + "steps": [ + { + "page": "/", + "question": "Who are you, and what do you need from UHHM?", + "options": [ + { + "name": "You run an organization that needs software built", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything." + }, + { + "name": "You want to join us, follow us, or fix a page on this site", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no." + }, + { + "name": "You are on the redoal network: a node, an app, or a recording that concerns you", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at." + } + ], + "expect": [ + "You run an organization that needs software built" + ], + "alternative": "You run an organization that needs software built", + "fields": [] + }, + { + "page": "/build", + "question": "Do you have a brief, or do you want to see your business as a site first?", + "options": [ + { + "name": "Have us build it: send the brief", + "description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing." + }, + { + "name": "See your own business as a site, before you buy anything", + "description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through." + } + ], + "expect": [ + "See your own business as a site, before you buy anything" + ], + "alternative": "See your own business as a site, before you buy anything", + "fields": [ + { + "name": "business", + "label": "Your business", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "email", + "label": "Your email", + "type": "email", + "optional": false, + "options": [] + }, + { + "name": "what_we_do", + "label": "What you do", + "type": "textarea", + "optional": false, + "options": [] + }, + { + "name": "who_comes_to_us", + "label": "Who comes to you", + "type": "textarea", + "optional": false, + "options": [] + }, + { + "name": "what_we_keep_track_of", + "label": "What you keep track of", + "type": "textarea", + "optional": false, + "options": [] + }, + { + "name": "who_is_involved", + "label": "Who's involved", + "type": "textarea", + "optional": false, + "options": [] + }, + { + "name": "what_slows_us_down", + "label": "What slows you down", + "type": "textarea", + "optional": true, + "options": [] + } + ] + } + ] + }, + { + "id": "collaborate", + "who": "someone who wants to work with us on what we build", + "wants": "to be read as a person, and invited in if there is a fit", + "enters_as": null, + "lands_in": "applicants", + "handled_by": "owners", + "done_when": [ + "departed", + "declined" + ], + "success": [ + "departed" + ], + "steps": [ + { + "page": "/", + "question": "Who are you, and what do you need from UHHM?", + "options": [ + { + "name": "You run an organization that needs software built", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything." + }, + { + "name": "You want to join us, follow us, or fix a page on this site", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no." + }, + { + "name": "You are on the redoal network: a node, an app, or a recording that concerns you", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at." + } + ], + "expect": [ + "You want to join us, follow us, or fix a page on this site" + ], + "alternative": "You want to join us, follow us, or fix a page on this site", + "fields": [] + }, + { + "page": "/join", + "question": "How do you want to be part of this?", + "options": [ + { + "name": "Work with us", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit." + }, + { + "name": "Hear from us now and then", + "description": "You'd rather hear from us now and then than check back on your own." + }, + { + "name": "Suggest a change to this website", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how." + } + ], + "expect": [ + "Work with us" + ], + "alternative": "Work with us", + "fields": [ + { + "name": "name", + "label": "Name", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "email", + "label": "Email", + "type": "email", + "optional": false, + "options": [] + }, + { + "name": "interest", + "label": "What kind of work", + "type": "textarea", + "optional": false, + "options": [] + }, + { + "name": "note", + "label": "Tell us more", + "type": "textarea", + "optional": true, + "options": [] + } + ] + } + ] + }, + { + "id": "subscribe", + "who": "someone who wants to hear from us when there is something to say", + "wants": "a note now and then, and an easy way out", + "enters_as": null, + "lands_in": "subscribers", + "handled_by": "owners", + "done_when": [ + "unsubscribed" + ], + "success": [], + "steps": [ + { + "page": "/", + "question": "Who are you, and what do you need from UHHM?", + "options": [ + { + "name": "You run an organization that needs software built", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything." + }, + { + "name": "You want to join us, follow us, or fix a page on this site", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no." + }, + { + "name": "You are on the redoal network: a node, an app, or a recording that concerns you", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at." + } + ], + "expect": [ + "You want to join us, follow us, or fix a page on this site" + ], + "alternative": "You want to join us, follow us, or fix a page on this site", + "fields": [] + }, + { + "page": "/join", + "question": "How do you want to be part of this?", + "options": [ + { + "name": "Work with us", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit." + }, + { + "name": "Hear from us now and then", + "description": "You'd rather hear from us now and then than check back on your own." + }, + { + "name": "Suggest a change to this website", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how." + } + ], + "expect": [ + "Hear from us now and then" + ], + "alternative": "Hear from us now and then", + "fields": [ + { + "name": "name", + "label": "Name", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "email", + "label": "Email", + "type": "email", + "optional": false, + "options": [] + } + ] + } + ] + }, + { + "id": "propose", + "who": "a visitor who sees how a page on this site should change", + "wants": "the change read by a person and, if approved, made", + "enters_as": null, + "lands_in": "development_proposals", + "handled_by": "owners", + "done_when": [ + "approved", + "rejected" + ], + "success": [ + "approved" + ], + "steps": [ + { + "page": "/", + "question": "Who are you, and what do you need from UHHM?", + "options": [ + { + "name": "You run an organization that needs software built", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything." + }, + { + "name": "You want to join us, follow us, or fix a page on this site", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no." + }, + { + "name": "You are on the redoal network: a node, an app, or a recording that concerns you", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at." + } + ], + "expect": [ + "You want to join us, follow us, or fix a page on this site" + ], + "alternative": "You want to join us, follow us, or fix a page on this site", + "fields": [] + }, + { + "page": "/join", + "question": "How do you want to be part of this?", + "options": [ + { + "name": "Work with us", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit." + }, + { + "name": "Hear from us now and then", + "description": "You'd rather hear from us now and then than check back on your own." + }, + { + "name": "Suggest a change to this website", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how." + } + ], + "expect": [ + "Suggest a change to this website" + ], + "alternative": "Suggest a change to this website", + "fields": [ + { + "name": "submitted_by", + "label": "Your name", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "email", + "label": "Email", + "type": "email", + "optional": true, + "options": [] + }, + { + "name": "page", + "label": "Which page", + "type": "text", + "optional": true, + "options": [] + }, + { + "name": "rationale", + "label": "Why this is better", + "type": "textarea", + "optional": false, + "options": [] + }, + { + "name": "proposed_yaml", + "label": "Your proposed text", + "type": "textarea", + "optional": false, + "options": [] + } + ] + } + ] + }, + { + "id": "custody", + "who": "someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node", + "wants": "an answer from a custodian, and action where the network keeps something it should not", + "enters_as": null, + "lands_in": "custody_requests", + "handled_by": "custodians", + "done_when": [ + "resolved", + "declined" + ], + "success": [ + "resolved" + ], + "steps": [ + { + "page": "/", + "question": "Who are you, and what do you need from UHHM?", + "options": [ + { + "name": "You run an organization that needs software built", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything." + }, + { + "name": "You want to join us, follow us, or fix a page on this site", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no." + }, + { + "name": "You are on the redoal network: a node, an app, or a recording that concerns you", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at." + } + ], + "expect": [ + "You are on the redoal network: a node, an app, or a recording that concerns you" + ], + "alternative": "You are on the redoal network: a node, an app, or a recording that concerns you", + "fields": [ + { + "name": "name", + "label": "Name", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "email", + "label": "Email", + "type": "email", + "optional": false, + "options": [] + }, + { + "name": "about", + "label": "What's going on", + "type": "select", + "optional": false, + "options": [ + "Running a node of my own", + "Building on the network", + "Something the network keeps about me", + "Something else" + ] + }, + { + "name": "what", + "label": "In short", + "type": "textarea", + "optional": false, + "options": [] + } + ] + } + ] + }, + { + "id": "prospect", + "who": "an owner who has met an organization worth following up", + "wants": "it written down and walked through its states from the desk", + "enters_as": "owners", + "lands_in": "organizations", + "handled_by": "owners", + "done_when": [ + "past_client" + ], + "success": [], + "steps": [ + { + "page": "/owners/prospect", + "question": "Is there an organization I should be keeping track of?", + "options": [ + { + "name": "Keep an organization on your radar", + "description": "One line per organization worth watching, moved through the stages as things develop." + } + ], + "expect": [ + "Keep an organization on your radar" + ], + "alternative": "Keep an organization on your radar", + "fields": [ + { + "name": "name", + "label": "Organization", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "contact", + "label": "Contact", + "type": "text", + "optional": false, + "options": [] + }, + { + "name": "note", + "label": "Note", + "type": "textarea", + "optional": true, + "options": [] + } + ] + } + ] + } + ], + "buckets": { + "projects": { + "initial": "open", + "transitions": { + "open": [ + "accepted", + "declined" + ] + }, + "desks": [ + { + "page": "/owners", + "group": "owners", + "moves": [ + { + "from": "open", + "to": "accepted", + "label": "Accept brief" + }, + { + "from": "open", + "to": "declined", + "label": "Decline brief" + } + ] + } + ], + "self_moves": [] + }, + "trials": { + "initial": "open", + "transitions": { + "approved": [ + "previewed", + "declined" + ], + "open": [ + "approved", + "declined" + ] + }, + "desks": [ + { + "page": "/owners", + "group": "owners", + "moves": [ + { + "from": "approved", + "to": "previewed", + "label": "Mark previewed" + }, + { + "from": "approved", + "to": "declined", + "label": "Decline trial" + }, + { + "from": "open", + "to": "approved", + "label": "Approve trial" + }, + { + "from": "open", + "to": "declined", + "label": "Decline trial" + } + ] + } + ], + "self_moves": [] + }, + "applicants": { + "initial": "open", + "transitions": { + "open": [ + "invited", + "declined" + ], + "invited": [ + "active", + "declined" + ], + "active": [ + "departed", + "declined" + ] + }, + "desks": [ + { + "page": "/owners", + "group": "owners", + "moves": [ + { + "from": "active", + "to": "departed", + "label": "Mark departed" + }, + { + "from": "active", + "to": "declined", + "label": "End collaboration" + }, + { + "from": "invited", + "to": "active", + "label": "Confirm active" + }, + { + "from": "invited", + "to": "declined", + "label": "Withdraw invite" + }, + { + "from": "open", + "to": "invited", + "label": "Send invite" + }, + { + "from": "open", + "to": "declined", + "label": "Decline applicant" + } + ] + } + ], + "self_moves": [] + }, + "subscribers": { + "initial": "open", + "transitions": { + "open": [ + "unsubscribed" + ] + }, + "desks": [ + { + "page": "/owners", + "group": "owners", + "moves": [ + { + "from": "open", + "to": "unsubscribed", + "label": "Unsubscribe them" + } + ] + } + ], + "self_moves": [ + "unsubscribed" + ] + }, + "development_proposals": { + "initial": "open", + "transitions": { + "open": [ + "approved", + "rejected" + ] + }, + "desks": [ + { + "page": "/owners", + "group": "owners", + "moves": [ + { + "from": "open", + "to": "approved", + "label": "Approve change" + }, + { + "from": "open", + "to": "rejected", + "label": "Reject change" + } + ] + } + ], + "self_moves": [] + }, + "custody_requests": { + "initial": "open", + "transitions": { + "in_dialogue": [ + "resolved", + "declined" + ], + "open": [ + "in_dialogue", + "declined" + ] + }, + "desks": [ + { + "page": "/custodians", + "group": "custodians", + "moves": [ + { + "from": "in_dialogue", + "to": "resolved", + "label": "Mark resolved" + }, + { + "from": "in_dialogue", + "to": "declined", + "label": "Close, no action" + }, + { + "from": "open", + "to": "in_dialogue", + "label": "Open dialogue" + }, + { + "from": "open", + "to": "declined", + "label": "Decline case" + } + ] + }, + { + "page": "/owners", + "group": "owners", + "moves": [] + } + ], + "self_moves": [] + }, + "organizations": { + "initial": "prospect", + "transitions": { + "prospect": [ + "client", + "past_client" + ], + "client": [ + "past_client" + ] + }, + "desks": [ + { + "page": "/owners", + "group": "owners", + "moves": [ + { + "from": "client", + "to": "past_client", + "label": "Mark past client" + }, + { + "from": "prospect", + "to": "client", + "label": "Mark as client" + }, + { + "from": "prospect", + "to": "past_client", + "label": "Mark not pursued" + } + ] + } + ], + "self_moves": [] + } + }, + "personas": [ + { + "id": "architecture-firm", + "need": "commission", + "text": "We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves." + }, + { + "id": "climbing-gym-founder", + "need": "commission", + "text": "I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me." + }, + { + "id": "municipality-buyer", + "need": "commission", + "text": "Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it." + }, + { + "id": "exhibition-visitor", + "need": "subscribe", + "text": "I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news." + }, + { + "id": "tech-journalist", + "need": "subscribe", + "text": "I write about Nordic technology. Keep me posted on what you release so I can cover it." + }, + { + "id": "rust-developer", + "need": "collaborate", + "text": "I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you." + }, + { + "id": "interaction-designer", + "need": "collaborate", + "text": "I'm an interaction designer. I want to work with you on the drawing interface." + }, + { + "id": "student-intern", + "need": "collaborate", + "text": "I'm a computer science student looking for a summer internship doing infrastructure work." + }, + { + "id": "plumber-owner", + "need": "trial", + "text": "I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money." + }, + { + "id": "dance-school", + "need": "trial", + "text": "We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?" + }, + { + "id": "node-runner", + "need": "custody", + "text": "I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to?" + }, + { + "id": "recorded-name", + "need": "custody", + "text": "Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network." + }, + { + "id": "app-builder", + "need": "custody", + "text": "I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides?" + }, + { + "id": "wording-fix", + "need": "propose", + "text": "The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page." + }, + { + "id": "rewrite", + "need": "propose", + "text": "One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?" + } + ] +} \ No newline at end of file diff --git a/runs/uhhm-2026-09-23/overrides-r3.json b/runs/uhhm-2026-09-23/overrides-r3.json new file mode 100644 index 0000000..33c3c1a --- /dev/null +++ b/runs/uhhm-2026-09-23/overrides-r3.json @@ -0,0 +1,23 @@ +{ + "questions/index.yaml": { + "question": "Who are you, and what do you need from UHHM?", + "doors": { + "build": { + "heading": "You run an organization that needs software built", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.", + "for_whom": "For a business or an organization with a job for us" + }, + "join": { + "heading": "You want to join us, follow us, or fix a page on this site", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no.", + "for_whom": "For a person, on their own behalf" + } + }, + "needs": { + "custody": { + "heading": "You are on the redoal network: a node, an app, or a recording that concerns you", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at." + } + } + } +} diff --git a/runs/uhhm-2026-09-23/overrides.json b/runs/uhhm-2026-09-23/overrides.json new file mode 100644 index 0000000..41be94e --- /dev/null +++ b/runs/uhhm-2026-09-23/overrides.json @@ -0,0 +1,54 @@ +{ + "questions/index.yaml": { + "doors": { + "build": { + "heading": "Get software built, or try a site for your business first", + "description": "Send us a brief, or describe how work flows through your business and see it as a working site before you pay for anything." + }, + "join": { + "heading": "Work with us, hear from us, or change this website", + "description": "Join us as a collaborator, get a note now and then, or suggest a change to a page on uhhm.no." + } + }, + "needs": { + "custody": { + "heading": "About the redoal network: run a node, build on it, or have something removed", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.", + "road_description": "A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided.", + "form_description": "Say which of the four it is, and what you need, in a few lines." + } + } + }, + "questions/build/index.yaml": { + "question": "Do you have a brief, or do you want to see your business as a site first?", + "needs": { + "commission": { + "heading": "Have us build it: send the brief", + "description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing." + }, + "trial": { + "heading": "See your own business as a site, before you buy anything", + "description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through." + } + } + }, + "questions/join/index.yaml": { + "needs": { + "collaborate": { + "heading": "Work with us", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit." + }, + "subscribe": { + "heading": "Hear from us now and then" + }, + "propose": { + "heading": "Suggest a change to this website", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how." + } + } + }, + "questions/custodians/index.yaml": { + "question": "What is waiting on the custodians?", + "confirm": "Confirm" + } +} diff --git a/runs/uhhm-2026-09-23/r1/answers-full.jsonl b/runs/uhhm-2026-09-23/r1/answers-full.jsonl new file mode 100644 index 0000000..cdb9842 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/answers-full.jsonl @@ -0,0 +1,27 @@ +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"architecture-firm@/"} +{"choice":"A considered reply to your brief","confidence":0.95,"id":"architecture-firm@/build"} +{"choice":"Get software built around your problem","confidence":0.85,"id":"climbing-gym-founder@/"} +{"choice":"A first draft of your own site","confidence":0.95,"id":"climbing-gym-founder@/build"} +{"choice":"Get software built around your problem","confidence":0.85,"id":"municipality-buyer@/"} +{"choice":"A considered reply to your brief","confidence":0.95,"id":"municipality-buyer@/build"} +{"choice":"Get an answer from the people who keep the network","confidence":0.85,"id":"exhibition-visitor@/"} +{"choice":"Hear from us only when there's something to say","confidence":1.0,"id":"exhibition-visitor@/join"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"tech-journalist@/"} +{"choice":"Hear from us only when there's something to say","confidence":0.95,"id":"tech-journalist@/join"} +{"choice":"Work with us, or just stay in touch","confidence":0.85,"id":"rust-developer@/"} +{"choice":"Work with people who read the whole thing","confidence":0.95,"id":"rust-developer@/join"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"interaction-designer@/"} +{"choice":"Get a page fixed the way you'd write it","confidence":0.95,"id":"interaction-designer@/join"} +{"choice":"Work with us, or just stay in touch","confidence":0.95,"id":"student-intern@/"} +{"choice":"Work with people who read the whole thing","confidence":0.95,"id":"student-intern@/join"} +{"choice":"Get software built around your problem","confidence":0.95,"id":"plumber-owner@/"} +{"choice":"A first draft of your own site","confidence":0.95,"id":"plumber-owner@/build"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"dance-school@/"} +{"choice":"A first draft of your own site","confidence":0.95,"id":"dance-school@/build"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"node-runner@/"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"recorded-name@/"} +{"choice":"Get software built around your problem","confidence":0.95,"id":"app-builder@/"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"wording-fix@/"} +{"choice":"Work with people who read the whole thing","confidence":0.95,"id":"wording-fix@/join"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"rewrite@/"} +{"choice":"Get a page fixed the way you'd write it","confidence":1.0,"id":"rewrite@/join"} diff --git a/runs/uhhm-2026-09-23/r1/answers-skim.jsonl b/runs/uhhm-2026-09-23/r1/answers-skim.jsonl new file mode 100644 index 0000000..4e314fb --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/answers-skim.jsonl @@ -0,0 +1,27 @@ +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"architecture-firm@/"} +{"choice":"A considered reply to your brief","confidence":0.95,"id":"architecture-firm@/build"} +{"choice":"Get software built around your problem","confidence":0.95,"id":"climbing-gym-founder@/"} +{"choice":"A considered reply to your brief","confidence":0.85,"id":"climbing-gym-founder@/build"} +{"choice":"Get software built around your problem","confidence":0.95,"id":"municipality-buyer@/"} +{"choice":"A considered reply to your brief","confidence":0.95,"id":"municipality-buyer@/build"} +{"choice":"Work with us, or just stay in touch","confidence":0.95,"id":"exhibition-visitor@/"} +{"choice":"Hear from us only when there's something to say","confidence":1.0,"id":"exhibition-visitor@/join"} +{"choice":"Work with us, or just stay in touch","confidence":0.95,"id":"tech-journalist@/"} +{"choice":"Hear from us only when there's something to say","confidence":0.95,"id":"tech-journalist@/join"} +{"choice":"Work with us, or just stay in touch","confidence":0.95,"id":"rust-developer@/"} +{"choice":"Get a page fixed the way you'd write it","confidence":0.95,"id":"rust-developer@/join"} +{"choice":"Work with us, or just stay in touch","confidence":0.95,"id":"interaction-designer@/"} +{"choice":"Get a page fixed the way you'd write it","confidence":0.95,"id":"interaction-designer@/join"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"student-intern@/"} +{"choice":"Hear from us only when there's something to say","confidence":0.95,"id":"student-intern@/join"} +{"choice":"Get software built around your problem","confidence":0.95,"id":"plumber-owner@/"} +{"choice":"A first draft of your own site","confidence":0.85,"id":"plumber-owner@/build"} +{"choice":"Get software built around your problem","confidence":0.95,"id":"dance-school@/"} +{"choice":"A considered reply to your brief","confidence":0.95,"id":"dance-school@/build"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"node-runner@/"} +{"choice":"Get an answer from the people who keep the network","confidence":0.95,"id":"recorded-name@/"} +{"choice":"Get software built around your problem","confidence":0.95,"id":"app-builder@/"} +{"choice":"Work with us, or just stay in touch","confidence":0.95,"id":"wording-fix@/"} +{"choice":"Hear from us only when there's something to say","confidence":0.95,"id":"wording-fix@/join"} +{"choice":"Work with us, or just stay in touch","confidence":0.95,"id":"rewrite@/"} +{"choice":"Get a page fixed the way you'd write it","confidence":1.0,"id":"rewrite@/join"} diff --git a/runs/uhhm-2026-09-23/r1/rated/rate.json b/runs/uhhm-2026-09-23/r1/rated/rate.json new file mode 100644 index 0000000..3da88cf --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/rated/rate.json @@ -0,0 +1,274 @@ +{ + "collaborate": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 1, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 25.48076923076923, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 0, + "understanding": { + "asked": 3, + "next": null, + "where": 3, + "which": 2 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 21.791208791208792, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 3, + "required_fields": 3, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 2 + }, + "commission": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 25.48076923076923, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 0, + "understanding": { + "asked": 3, + "next": null, + "where": 2, + "which": 2 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 27.436974789915965, + "options": 2, + "overloaded": false, + "page": "/build", + "personas": 3, + "required_fields": 4, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 2 + }, + "custody": { + "pages": [ + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 27.28985507246377, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 4, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 1 + }, + "propose": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 25.48076923076923, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 1, + "which": 1 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 26.186813186813186, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 2, + "required_fields": 3, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + }, + "subscribe": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 25.48076923076923, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 2, + "which": 2 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 23.909407665505228, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 2, + "required_fields": 2, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + }, + "trial": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 25.48076923076923, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 0, + "which": 0 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 29.46376811594203, + "options": 2, + "overloaded": true, + "page": "/build", + "personas": 2, + "required_fields": 6, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + } +} \ No newline at end of file diff --git a/runs/uhhm-2026-09-23/r1/score.log b/runs/uhhm-2026-09-23/r1/score.log new file mode 100644 index 0000000..4e473b7 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/score.log @@ -0,0 +1,39 @@ +== answer full +== answer skim +== score full +MISROUTE: architecture-firm@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Get software built around your problem"] +MISROUTE: climbing-gym-founder@/build: picked "A first draft of your own site" (0.95), the need is met by ["A considered reply to your brief"] +MISROUTE: exhibition-visitor@/: picked "Get an answer from the people who keep the network" (0.85), the need is met by ["Work with us, or just stay in touch"] +MISROUTE: tech-journalist@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Work with us, or just stay in touch"] +MISROUTE: interaction-designer@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Work with us, or just stay in touch"] +MISROUTE: interaction-designer@/join: picked "Get a page fixed the way you'd write it" (0.95), the need is met by ["Work with people who read the whole thing"] +MISROUTE: dance-school@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Get software built around your problem"] +MISROUTE: app-builder@/: picked "Get software built around your problem" (0.95), the need is met by ["Get an answer from the people who keep the network"] +MISROUTE: wording-fix@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Work with us, or just stay in touch"] +MISROUTE: wording-fix@/join: picked "Work with people who read the whole thing" (0.95), the need is met by ["Get a page fixed the way you'd write it"] +MISROUTE: rewrite@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Work with us, or just stay in touch"] +wording: 16/27 routed right (59%) +== score skim +MISROUTE: architecture-firm@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Get software built around your problem"] +MISROUTE: rust-developer@/join: picked "Get a page fixed the way you'd write it" (0.95), the need is met by ["Work with people who read the whole thing"] +MISROUTE: interaction-designer@/join: picked "Get a page fixed the way you'd write it" (0.95), the need is met by ["Work with people who read the whole thing"] +MISROUTE: student-intern@/: picked "Get an answer from the people who keep the network" (0.95), the need is met by ["Work with us, or just stay in touch"] +MISROUTE: student-intern@/join: picked "Hear from us only when there's something to say" (0.95), the need is met by ["Work with people who read the whole thing"] +MISROUTE: dance-school@/build: picked "A considered reply to your brief" (0.95), the need is met by ["A first draft of your own site"] +MISROUTE: app-builder@/: picked "Get software built around your problem" (0.95), the need is met by ["Get an answer from the people who keep the network"] +MISROUTE: wording-fix@/join: picked "Hear from us only when there's something to say" (0.95), the need is met by ["Get a page fixed the way you'd write it"] +wording: 19/27 routed right (70%) +== rate +need LIX which where asked next gutted twin says page load +commission @/ 25 very easy 2/3 2/3 3/3 - 0/0/0/- ok 3 options, 0 required +commission @/build 27 very easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 2 options, 4 required +trial @/ 25 very easy 0/2 0/2 2/2 - 0/0/0/- ok 3 options, 0 required +trial @/build 29 very easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 2 options, 6 required - SPLIT +collaborate @/ 25 very easy 2/3 3/3 3/3 - 0/1/0/- ok 3 options, 0 required +collaborate @/join 22 very easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 3 options, 3 required +subscribe @/ 25 very easy 2/2 2/2 2/2 - 0/0/0/- ok 3 options, 0 required +subscribe @/join 24 very easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 3 options, 2 required +propose @/ 25 very easy 1/2 1/2 2/2 - 0/0/0/- ok 3 options, 0 required +propose @/join 26 very easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 3 options, 3 required +custody 27 very easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 3 options, 4 required +== done diff --git a/runs/uhhm-2026-09-23/r1/site/aggregates.yaml b/runs/uhhm-2026-09-23/r1/site/aggregates.yaml new file mode 100644 index 0000000..cccafd2 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/aggregates.yaml @@ -0,0 +1,113 @@ +aggregates: +- bucket: applicants + initial: open + states: + active: + event: onboarded + declined: + event: declined + departed: + event: departed + invited: + event: invited + open: + event: applied + transitions: + active: + - departed + - declined + invited: + - active + - declined + open: + - invited + - declined +- bucket: custody_requests + initial: open + states: + declined: + event: declined + in_dialogue: + event: in_dialogue + open: + event: received + resolved: + event: resolved + transitions: + in_dialogue: + - resolved + - declined + open: + - in_dialogue + - declined +- bucket: development_proposals + initial: open + states: + approved: + event: approved + open: + event: proposed + rejected: + event: rejected + transitions: + open: + - approved + - rejected +- bucket: organizations + initial: prospect + states: + client: + event: became_client + past_client: + event: churned + prospect: + event: identified + transitions: + client: + - past_client + prospect: + - client + - past_client +- bucket: projects + initial: open + states: + accepted: + event: accepted + declined: + event: declined + open: + event: submitted + transitions: + open: + - accepted + - declined +- bucket: subscribers + initial: open + states: + open: + event: subscribed + unsubscribed: + event: unsubscribed + transitions: + open: + - unsubscribed +- attended_by: | + approved -> previewed: the n8n workflow that builds the draft site from an approved intake (docker, rauthy, portal content) and sends the preview link. Until it exists, owners run portal-trainer by hand and press the button. + bucket: trials + initial: open + states: + approved: + event: approved + declined: + event: declined + open: + event: received + previewed: + event: previewed + transitions: + approved: + - previewed + - declined + open: + - approved + - declined diff --git a/runs/uhhm-2026-09-23/r1/site/llm/01-questions_build_index.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/01-questions_build_index.yaml.md new file mode 100644 index 0000000..8517c6a --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/01-questions_build_index.yaml.md @@ -0,0 +1,174 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/build/index.yaml +It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "needs": { + "commission": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "name": "", + "org_contact": "", + "organization": "", + "project": "" + }, + "icon": "", + "labels": { + "email": "", + "name": "", + "org_contact": "", + "organization": "", + "project": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "trial": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "business": "", + "email": "", + "what_slows_us_down": "", + "what_we_do": "", + "what_we_keep_track_of": "", + "who_comes_to_us": "", + "who_is_involved": "" + }, + "icon": "", + "labels": { + "business": "", + "email": "", + "what_slows_us_down": "", + "what_we_do": "", + "what_we_keep_track_of": "", + "who_comes_to_us": "", + "who_is_involved": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved. Write it up and send it to people who will read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "A considered reply to your brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "See your own requests, approvals and handovers as a working site, before you commit to anything.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "A first draft of your own site", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you already know the problem, or do you want to see your own business as a site first?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/02-questions_custodians_index.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/02-questions_custodians_index.yaml.md new file mode 100644 index 0000000..c9aeeb9 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/02-questions_custodians_index.yaml.md @@ -0,0 +1,108 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/custodians/index.yaml +It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "buckets": { + "custody_requests": { + "description": "", + "heading": "", + "moves": { + "in_dialogue->declined": "declined>", + "in_dialogue->resolved": "resolved>", + "open->declined": "declined>", + "open->in_dialogue": "in_dialogue>" + } + } + }, + "confirm": "", + "description": "", + "invited": { + "description": "", + "done": "", + "heading": "" + }, + "invites": { + "custodians": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + } + }, + "links": {}, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Send invite", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What does the network owe the people it affects, right now?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/03-questions_decide_subscribe.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/03-questions_decide_subscribe.yaml.md new file mode 100644 index 0000000..729c7c0 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/03-questions_decide_subscribe.yaml.md @@ -0,0 +1,60 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/decide/subscribe.yaml +It is a page the person who sent a form reaches later, through a private link, to make a decision that is theirs: under `moves`, each entry is one thing they can decide. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "moves": { + "unsubscribed": { + "button": "", + "description": "", + "heading": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/04-questions_index.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/04-questions_index.yaml.md new file mode 100644 index 0000000..e11b912 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/04-questions_index.yaml.md @@ -0,0 +1,136 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/index.yaml +It is the front door: the first page any visitor sees. `question` is the page's one question. Under `doors`, each entry is one alternative that leads to a page of its own for one kind of visitor: its heading must let that visitor recognise themselves from the heading alone. Under `needs`, each entry is one alternative with a form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "doors": { + "build": { + "button": "", + "description": "", + "for_whom": "", + "heading": "", + "icon": "" + }, + "join": { + "button": "", + "description": "", + "for_whom": "", + "heading": "", + "icon": "" + } + }, + "needs": { + "custody": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "about": "", + "email": "", + "name": "", + "what": "" + }, + "icon": "", + "labels": { + "about": "", + "email": "", + "name": "", + "what": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us the problem, or try your own workflow as a working site before you pay for anything.", + "for_whom": "For an organisation with a problem, or a business sizing us up", + "heading": "Get software built around your problem", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "Build with us, hear from us now and then, or tell us what should change on this page.", + "for_whom": "For anyone who wants in, on their own terms", + "heading": "Work with us, or just stay in touch", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Tell us what the network is doing, or not doing, and how we can reach you.", + "form_title": "Reach a custodian", + "heading": "Get an answer from the people who keep the network", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "We open it and start a dialogue with you. Once we understand what the network is keeping that it shouldn't, we work it through to resolved, or tell you plainly if we can't.", + "road_icon": "route", + "road_title": "What happens next", + "who_title": "Who reads this", + "who_icon": "user-check", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime." + } + }, + "question": "What brings you here?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/05-questions_join_index.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/05-questions_join_index.yaml.md new file mode 100644 index 0000000..493c581 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/05-questions_join_index.yaml.md @@ -0,0 +1,208 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/join/index.yaml +It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "needs": { + "collaborate": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "interest": "", + "name": "", + "note": "" + }, + "icon": "", + "labels": { + "email": "", + "interest": "", + "name": "", + "note": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "propose": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "page": "", + "proposed_yaml": "", + "rationale": "", + "submitted_by": "" + }, + "icon": "", + "labels": { + "email": "", + "page": "", + "proposed_yaml": "", + "rationale": "", + "submitted_by": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "subscribe": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "name": "" + }, + "icon": "", + "labels": { + "email": "", + "name": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "You want to build software with people who read the whole brief, not just the summary.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with people who read the whole thing", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You've spotted something on this site that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Get a page fixed the way you'd write it", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us only when there's something to say", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/06-questions_owners_index.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/06-questions_owners_index.yaml.md new file mode 100644 index 0000000..56e3fe7 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/06-questions_owners_index.yaml.md @@ -0,0 +1,236 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/index.yaml +It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "buckets": { + "applicants": { + "description": "", + "heading": "", + "moves": { + "active->declined": "declined>", + "active->departed": "departed>", + "invited->active": "active>", + "invited->declined": "declined>", + "open->declined": "declined>", + "open->invited": "invited>" + } + }, + "custody_requests": { + "description": "", + "heading": "", + "moves": {} + }, + "development_proposals": { + "description": "", + "heading": "", + "moves": { + "open->approved": "approved>", + "open->rejected": "rejected>" + } + }, + "organizations": { + "description": "", + "heading": "", + "moves": { + "client->past_client": "past_client>", + "prospect->client": "client>", + "prospect->past_client": "past_client>" + } + }, + "projects": { + "description": "", + "heading": "", + "moves": { + "open->accepted": "accepted>", + "open->declined": "declined>" + } + }, + "subscribers": { + "description": "", + "heading": "", + "moves": { + "open->unsubscribed": "unsubscribed>" + } + }, + "trials": { + "description": "", + "heading": "", + "moves": { + "approved->declined": "declined>", + "approved->previewed": "previewed>", + "open->approved": "approved>", + "open->declined": "declined>" + } + } + }, + "confirm": "", + "description": "", + "invited": { + "description": "", + "done": "", + "heading": "" + }, + "invites": { + "custodians": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + }, + "owners": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + } + }, + "links": { + "prospect": { + "button": "", + "description": "", + "heading": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +{ + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" +} diff --git a/runs/uhhm-2026-09-23/r1/site/llm/07-questions_owners_prospect-sent.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/07-questions_owners_prospect-sent.yaml.md new file mode 100644 index 0000000..2bc4507 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/07-questions_owners_prospect-sent.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/prospect-sent.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/08-questions_owners_prospect.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/08-questions_owners_prospect.yaml.md new file mode 100644 index 0000000..290d1f2 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/08-questions_owners_prospect.yaml.md @@ -0,0 +1,92 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/prospect.yaml +It is a page only one role inside the business can open, holding one form. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "contact": "", + "name": "", + "note": "" + }, + "icon": "", + "labels": { + "contact": "", + "name": "", + "note": "" + }, + "page_description": "", + "question": "", + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/09-questions_received_collaborate.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/09-questions_received_collaborate.yaml.md new file mode 100644 index 0000000..6f83c69 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/09-questions_received_collaborate.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/collaborate.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/10-questions_received_commission.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/10-questions_received_commission.yaml.md new file mode 100644 index 0000000..225f61e --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/10-questions_received_commission.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/commission.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/11-questions_received_custody.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/11-questions_received_custody.yaml.md new file mode 100644 index 0000000..ee326dc --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/11-questions_received_custody.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/custody.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/12-questions_received_propose.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/12-questions_received_propose.yaml.md new file mode 100644 index 0000000..1ddaf45 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/12-questions_received_propose.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/propose.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/13-questions_received_subscribe.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/13-questions_received_subscribe.yaml.md new file mode 100644 index 0000000..2760f6f --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/13-questions_received_subscribe.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/subscribe.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/llm/14-questions_received_trial.yaml.md b/runs/uhhm-2026-09-23/r1/site/llm/14-questions_received_trial.yaml.md new file mode 100644 index 0000000..062e729 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/llm/14-questions_received_trial.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/trial.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" +} +``` diff --git a/runs/uhhm-2026-09-23/r1/site/needs.yaml b/runs/uhhm-2026-09-23/r1/site/needs.yaml new file mode 100644 index 0000000..bfc3639 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/needs.yaml @@ -0,0 +1,173 @@ +needs: +- done_when: + - accepted + - declined + enters: / + handled_by: owners + id: commission + lands_in: projects + max_fields: 4 + max_steps: 2 + stages: + - open + - accepted + - declined + success: + - accepted + via: Get software built around your problem + wants: a considered reply to a brief, from people who read the whole thing + who: an organization with a problem it wants software to solve +- done_when: + - previewed + - declined + enters: / + handled_by: owners + id: trial + lands_in: trials + max_fields: 6 + max_steps: 2 + stages: + - open + - approved + - previewed + - declined + success: + - previewed + via: Get software built around your problem + wants: a first draft of a site for their own roles, built from their own words and approved by a person first + who: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything +- done_when: + - departed + - declined + enters: / + handled_by: owners + id: collaborate + lands_in: applicants + max_fields: 3 + max_steps: 2 + stages: + - open + - invited + - active + - departed + - declined + success: + - departed + via: Work with us, or just stay in touch + wants: to be read as a person, and invited in if there is a fit + who: someone who wants to work with us on what we build +- done_when: + - unsubscribed + enters: / + handled_by: owners + id: subscribe + lands_in: subscribers + max_fields: 2 + max_steps: 2 + stages: + - open + - unsubscribed + success: [] + via: Work with us, or just stay in touch + wants: a note now and then, and an easy way out + who: someone who wants to hear from us when there is something to say +- done_when: + - approved + - rejected + enters: / + handled_by: owners + id: propose + lands_in: development_proposals + max_fields: 3 + max_steps: 2 + stages: + - open + - approved + - rejected + success: + - approved + via: Work with us, or just stay in touch + wants: the change read by a person and, if approved, made + who: a visitor who sees how a page on this site should change +- done_when: + - resolved + - declined + enters: / + handled_by: custodians + id: custody + lands_in: custody_requests + max_fields: 4 + max_steps: 1 + stages: + - open + - in_dialogue + - resolved + - declined + success: + - resolved + via: Get an answer from the people who keep the network + wants: an answer from a custodian, and action where the network keeps something it should not + who: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node +- done_when: + - past_client + enters: /owners/prospect + enters_as: owners + handled_by: owners + id: prospect + lands_in: organizations + max_fields: 2 + max_steps: 1 + stages: + - prospect + - client + - past_client + success: [] + via: Keep an organization on your radar + wants: it written down and walked through its states from the desk + who: an owner who has met an organization worth following up +personas: +- id: architecture-firm + need: commission + text: We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves. +- id: climbing-gym-founder + need: commission + text: I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me. +- id: municipality-buyer + need: commission + text: Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it. +- id: exhibition-visitor + need: subscribe + text: I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news. +- id: tech-journalist + need: subscribe + text: I write about Nordic technology. Keep me posted on what you release so I can cover it. +- id: rust-developer + need: collaborate + text: I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you. +- id: interaction-designer + need: collaborate + text: I'm an interaction designer. I want to work with you on the drawing interface. +- id: student-intern + need: collaborate + text: I'm a computer science student looking for a summer internship doing infrastructure work. +- id: plumber-owner + need: trial + text: I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money. +- id: dance-school + need: trial + text: We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us? +- id: node-runner + need: custody + text: I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to? +- id: recorded-name + need: custody + text: Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network. +- id: app-builder + need: custody + text: I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides? +- id: wording-fix + need: propose + text: The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page. +- id: rewrite + need: propose + text: One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/build/index.yaml b/runs/uhhm-2026-09-23/r1/site/questions/build/index.yaml new file mode 100644 index 0000000..ddedf51 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/build/index.yaml @@ -0,0 +1,94 @@ +alternatives: +- action: /received/commission + consequence: + - Send the brief + description: You know the problem and want it solved. Write it up and send it to people who will read the whole thing. + encouragements: + - Someone here reads every brief in full before writing back. + features: + - description: We read your brief and either take it on or tell you honestly if it's not a fit. + icon: lucide:route + name: What happens next + - description: One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly. + icon: lucide:user-check + name: Who reads this + - description: The more of the problem you put in, the better the reply. + icon: lucide:briefcase + name: Tell us the problem + requirements: + - label: Your name + name: name + placeholder: Sara Nilsen + type: text + - label: Your email + name: email + placeholder: sara@company.com + type: email + - label: The problem you want solved + name: project + placeholder: Our drivers log hours on paper and it takes a day to get them into payroll. + type: textarea + - label: Your organization + name: organization + placeholder: Nilsen Transport AS + type: text + - label: Who we should talk to + name: org_contact + optional: true + placeholder: Sara Nilsen, ops manager + type: text + name: A considered reply to your brief + record_as: projects +- action: /received/trial + consequence: + - Start the draft + description: See your own requests, approvals and handovers as a working site, before you commit to anything. + encouragements: + - A person looks at what you send before anything gets built. + features: + - description: We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further. + icon: lucide:route + name: What happens next + - description: An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly. + icon: lucide:user-check + name: Who reads this + - description: Answer in your own words - there's no wrong way to describe your business. + icon: lucide:layers + name: Describe your business + requirements: + - label: Your business + name: business + placeholder: Nilsen Transport AS + type: text + - label: Your email + name: email + placeholder: sara@company.com + type: email + - label: What you do + name: what_we_do + placeholder: We move freight for local businesses and handle the paperwork for them. + type: textarea + - label: Who comes to you + name: who_comes_to_us + placeholder: Local businesses that need something moved on short notice. + type: textarea + - label: What you keep track of + name: what_we_keep_track_of + placeholder: Bookings, driver hours, and which loads are still waiting on a signature. + type: textarea + - label: Who's involved + name: who_is_involved + placeholder: Drivers, dispatchers, and the customers waiting on their delivery. + type: textarea + - label: What slows you down + name: what_slows_us_down + optional: true + placeholder: Approvals sit in someone's inbox for days before anyone acts on them. + type: textarea + name: A first draft of your own site + record_as: trials +description: Have a problem software should solve, or want to see your own way of working as a site before you pay anyone? +name: Do you already know the problem, or do you want to see your own business as a site first? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r1/site/questions/custodians/_section.yaml b/runs/uhhm-2026-09-23/r1/site/questions/custodians/_section.yaml new file mode 100644 index 0000000..de40ef5 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/custodians/_section.yaml @@ -0,0 +1 @@ +qualifies: custodians diff --git a/runs/uhhm-2026-09-23/r1/site/questions/custodians/index.yaml b/runs/uhhm-2026-09-23/r1/site/questions/custodians/index.yaml new file mode 100644 index 0000000..cd65870 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/custodians/index.yaml @@ -0,0 +1,65 @@ +alternatives: +- action: /custodians + consequence: + - Send invite + description: Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it. + features: + - description: '' + name: '' + resource: + requires_group: custodians + source: + bucket: custody_requests + kind: kv + transitions: + - from: in_dialogue + label: Mark resolved + to: resolved + - from: in_dialogue + label: Close, no action + to: declined + - from: open + label: Open dialogue + to: in_dialogue + - from: open + label: Decline case + to: declined + name: Custody cases waiting on you +- action: /custodians + consequence: + - Invite custodian + description: Give someone an account and a one-time link to join as a custodian. + features: + - description: '' + name: Invite a custodian + requirements: + - label: Name + name: name + - label: Email + name: email + type: email + invite: + group: custodians + name: Bring in another custodian +- action: /custodians + consequence: + - Send invite + description: Custodians invited but not yet signed in. + features: + - description: '' + name: '' + resource: + requires_group: custodians + source: + bucket: portal_invites + kind: kv + transitions: + - from: open + label: Signed in + to: done + name: Invited custodians +description: 'The desk for custodians: open custody cases, and the people invited to answer them.' +name: What does the network owe the people it affects, right now? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r1/site/questions/decide/subscribe.yaml b/runs/uhhm-2026-09-23/r1/site/questions/decide/subscribe.yaml new file mode 100644 index 0000000..45114ca --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/decide/subscribe.yaml @@ -0,0 +1,9 @@ +alternatives: +- description: You'll stop hearing from us. Nothing else changes. + name: Stop getting notes from us + self_transition: + bucket: subscribers + label: Unsubscribe + to: unsubscribed +description: You're on our list. Change your mind whenever you like. +name: Do you want to keep hearing from us? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/index.yaml b/runs/uhhm-2026-09-23/r1/site/questions/index.yaml new file mode 100644 index 0000000..490af4f --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/index.yaml @@ -0,0 +1,63 @@ +alternatives: +- action: /build + consequence: + - Start here + description: Send us the problem, or try your own workflow as a working site before you pay for anything. + features: + - description: '' + icon: lucide:hammer + name: For an organisation with a problem, or a business sizing us up + name: Get software built around your problem +- action: /join + consequence: + - Start here + description: Build with us, hear from us now and then, or tell us what should change on this page. + features: + - description: '' + icon: lucide:handshake + name: For anyone who wants in, on their own terms + name: Work with us, or just stay in touch +- action: /received/custody + consequence: + - Send to a custodian + description: For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node. + encouragements: + - A custodian reads every message that comes in here. + features: + - description: We open it and start a dialogue with you. Once we understand what the network is keeping that it shouldn't, we work it through to resolved, or tell you plainly if we can't. + icon: lucide:route + name: What happens next + - description: A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime. + icon: lucide:user-check + name: Who reads this + - description: Tell us what the network is doing, or not doing, and how we can reach you. + icon: lucide:shield + name: Reach a custodian + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@yourcompany.com + type: email + - label: What's going on + name: about + options: + - Running a node of my own + - Building on the network + - Something the network keeps about me + - Something else + type: select + - label: In short + name: what + placeholder: A relay node is misbehaving + type: textarea + name: Get an answer from the people who keep the network + record_as: custody_requests +description: UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath. +name: What brings you here? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r1/site/questions/join/index.yaml b/runs/uhhm-2026-09-23/r1/site/questions/join/index.yaml new file mode 100644 index 0000000..cb40db7 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/join/index.yaml @@ -0,0 +1,110 @@ +alternatives: +- action: /received/collaborate + consequence: + - Get in touch + description: You want to build software with people who read the whole brief, not just the summary. + encouragements: + - A person reads this, not a form filter — worth the ten minutes. + features: + - description: We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too. + icon: lucide:route + name: What happens next + - description: One of the owners reads this directly — for anything urgent, write to bl@uhhm.no. + icon: lucide:user-check + name: Who reads this + - description: Tell us who you are and what kind of work you're after. + icon: lucide:handshake + name: Say hello + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@example.com + type: email + - label: What kind of work + name: interest + placeholder: Backend work, or something design-heavy + type: textarea + - label: Tell us more + name: note + optional: true + placeholder: A bit about what you'd want to work on, or a link to your work + type: textarea + name: Work with people who read the whole thing + record_as: applicants +- action: /received/subscribe + consequence: + - Sign up + description: You'd rather hear from us now and then than check back on your own. + encouragements: + - One click unsubscribes you later, no questions asked. + features: + - description: You're on the list. We write when there's something worth saying, and you can leave the list whenever you like. + icon: lucide:bell + name: What happens next + - description: An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first. + icon: lucide:user-check + name: Who reads this + - description: Just your email, or your name too if you'd like. + icon: lucide:mail + name: Stay in the loop + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@example.com + type: email + name: Hear from us only when there's something to say + record_as: subscribers +- action: /received/propose + consequence: + - Send change + description: You've spotted something on this site that should read differently, and you know roughly how. + encouragements: + - Even a rough version helps — we can tidy the wording ourselves. + features: + - description: Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back. + icon: lucide:route + name: What happens next + - description: An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive. + icon: lucide:user-check + name: Who reads this + - description: Point us to the page and show us the change. + icon: lucide:pencil + name: Propose a change + requirements: + - label: Your name + name: submitted_by + placeholder: Your name + type: text + - label: Email + name: email + optional: true + placeholder: you@example.com + type: email + - label: Which page + name: page + optional: true + placeholder: questions/join/index.yaml + type: text + - label: Why this is better + name: rationale + placeholder: The current heading doesn't say what you actually get + type: textarea + - label: Your proposed text + name: proposed_yaml + placeholder: 'heading: "A clearer way to say this"' + type: textarea + name: Get a page fixed the way you'd write it + record_as: development_proposals +description: 'Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.' +name: How do you want to be part of this? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r1/site/questions/owners/_section.yaml b/runs/uhhm-2026-09-23/r1/site/questions/owners/_section.yaml new file mode 100644 index 0000000..670fca7 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/owners/_section.yaml @@ -0,0 +1 @@ +qualifies: owners diff --git a/runs/uhhm-2026-09-23/r1/site/questions/owners/index.yaml b/runs/uhhm-2026-09-23/r1/site/questions/owners/index.yaml new file mode 100644 index 0000000..a59e0b0 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/owners/index.yaml @@ -0,0 +1,212 @@ +alternatives: +- action: /owners + consequence: + - Confirm + description: People who've asked to build with us, waiting on a decision or already working alongside us. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: applicants + kind: kv + transitions: + - from: active + label: Mark departed + to: departed + - from: active + label: End collaboration + to: declined + - from: invited + label: Confirm active + to: active + - from: invited + label: Withdraw invite + to: declined + - from: open + label: Send invite + to: invited + - from: open + label: Decline applicant + to: declined + name: People who want to build with us +- action: /owners + consequence: + - Confirm + description: Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: custody_requests + kind: kv + transitions: [] + name: What's been raised with custodians +- action: /owners + consequence: + - Confirm + description: Changes visitors have proposed for pages on this site, waiting on a yes or no. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: development_proposals + kind: kv + transitions: + - from: open + label: Approve change + to: approved + - from: open + label: Reject change + to: rejected + name: Proposed changes to the site +- action: /owners + consequence: + - Confirm + description: Organizations you've met, tracked from first contact through to client and beyond. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: organizations + kind: kv + transitions: + - from: client + label: Mark past client + to: past_client + - from: prospect + label: Mark as client + to: client + - from: prospect + label: Mark not pursued + to: past_client + name: Organizations you're tracking +- action: /owners + consequence: + - Confirm + description: Briefs sent in by organizations with a problem they want solved. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: projects + kind: kv + transitions: + - from: open + label: Accept brief + to: accepted + - from: open + label: Decline brief + to: declined + name: Briefs waiting on a reply +- action: /owners + consequence: + - Confirm + description: People who want to hear from you now and then. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: subscribers + kind: kv + transitions: + - from: open + label: Unsubscribe them + to: unsubscribed + name: Who's hearing from you +- action: /owners + consequence: + - Confirm + description: Businesses who want to see their own workflow as a working site before committing to anything. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: trials + kind: kv + transitions: + - from: approved + label: Mark previewed + to: previewed + - from: approved + label: Decline trial + to: declined + - from: open + label: Approve trial + to: approved + - from: open + label: Decline trial + to: declined + name: Trial sites in progress +- action: /owners/prospect + consequence: + - Add prospect + description: Write down an organization worth following up, and track it from first contact onward. + name: Track a new organization +- action: /owners + consequence: + - Send invite + description: Bring someone in to help keep the first node and answer for the network. + features: + - description: '' + name: Invite a custodian + requirements: + - label: Their name + name: name + - label: Their email + name: email + type: email + invite: + group: custodians + name: Bring in a custodian +- action: /owners + consequence: + - Send invite + description: Bring someone in to work this desk alongside you. + features: + - description: '' + name: Invite an owner + requirements: + - label: Their name + name: name + - label: Their email + name: email + type: email + invite: + group: owners + name: Bring in another owner +- action: /owners + consequence: + - Confirm + description: People you've invited in, and whether they've taken it up yet. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: portal_invites + kind: kv + transitions: + - from: open + label: Taken up + to: done + name: Invites you've sent +description: 'Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.' +name: What's waiting on me today? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r1/site/questions/owners/prospect-sent.yaml b/runs/uhhm-2026-09-23/r1/site/questions/owners/prospect-sent.yaml new file mode 100644 index 0000000..d49a1d4 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/owners/prospect-sent.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: An owner walks it from prospect to client, and on to past client, as the relationship moves. + name: It's on the desk now +- action: /owners + consequence: + - Back to site + description: '' + name: Back to site +description: Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking. +name: What happens to this now? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/owners/prospect.yaml b/runs/uhhm-2026-09-23/r1/site/questions/owners/prospect.yaml new file mode 100644 index 0000000..581bd11 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/owners/prospect.yaml @@ -0,0 +1,39 @@ +alternatives: +- action: /owners/prospect-sent + consequence: + - Add to prospects + description: One line per organization worth watching, moved through the stages as things develop. + encouragements: + - Takes a minute, and it's yours to update later. + features: + - description: It sits as a prospect until something moves - then you mark it client, and later past client if the work ends. + icon: lucide:route + name: Moves as you update it + - description: Only you see this, so keep it wherever you check next. + icon: lucide:user + name: Just for you + - description: Name the organization and where things stand. + icon: lucide:briefcase + name: New prospect + requirements: + - label: Organization + name: name + placeholder: Nordvik Bakery + type: text + - label: Contact + name: contact + placeholder: met at the bakers' conference, [email protected] + type: text + - label: Note + name: note + optional: true + placeholder: wants a booking flow, follow up after harvest season + type: textarea + name: Keep an organization on your radar + record_as: organizations +description: Write down an organization worth following up, and move it through client and past client as things develop. +followup: false +name: Is there an organization I should be keeping track of? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r1/site/questions/received/collaborate.yaml b/runs/uhhm-2026-09-23/r1/site/questions/received/collaborate.yaml new file mode 100644 index 0000000..c612fe8 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/received/collaborate.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: If it looks like a fit, we'll reach out to talk about where you could help. + name: We'll write if there's a fit +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring. +name: What happens to what I just sent? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/received/commission.yaml b/runs/uhhm-2026-09-23/r1/site/questions/received/commission.yaml new file mode 100644 index 0000000..59e77bc --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/received/commission.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: Expect a reply within a few working days, either way, straight to your inbox. + name: A real reply from someone who read it +- action: / + consequence: + - Back to home + description: '' + name: Back to home +description: Your brief is in. An owner reads every commission end to end before replying. +name: What happens now that we've sent our brief? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/received/custody.yaml b/runs/uhhm-2026-09-23/r1/site/questions/received/custody.yaml new file mode 100644 index 0000000..150966f --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/received/custody.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: Expect a reply once your report has been looked at and the network checked. + name: A custodian is on it +- action: / + consequence: + - Back to the site + description: '' + name: Back to the site +description: A custodian reads every message about the redoal network and what it keeps. +name: Who looks after what the network keeps? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/received/propose.yaml b/runs/uhhm-2026-09-23/r1/site/questions/received/propose.yaml new file mode 100644 index 0000000..1ae02a9 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/received/propose.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: We'll write back once it's been read — approved and made live, or turned down with a reason. + name: A read, then a decision +- action: / + consequence: + - Back home + description: '' + name: Back home +description: Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page. +name: What happens to my proposal now? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/received/subscribe.yaml b/runs/uhhm-2026-09-23/r1/site/questions/received/subscribe.yaml new file mode 100644 index 0000000..c2910bb --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/received/subscribe.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: You're on the list. Every note has an unsubscribe link if it stops being useful. + name: You're on the list +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: You'll hear from us when there's something worth saying, not on a schedule. +name: What happens now that I've subscribed? diff --git a/runs/uhhm-2026-09-23/r1/site/questions/received/trial.yaml b/runs/uhhm-2026-09-23/r1/site/questions/received/trial.yaml new file mode 100644 index 0000000..586bcd3 --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/questions/received/trial.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live. + name: A first draft, built from your own words +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: We read every trial request ourselves before anything gets built. +name: What happens now that you've sent this? diff --git a/runs/uhhm-2026-09-23/r1/site/site.yaml b/runs/uhhm-2026-09-23/r1/site/site.yaml new file mode 100644 index 0000000..aa5de2a --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/site.yaml @@ -0,0 +1,2 @@ +lang: en +title: UHHM diff --git a/runs/uhhm-2026-09-23/r1/site/words.json b/runs/uhhm-2026-09-23/r1/site/words.json new file mode 100644 index 0000000..1342dbb --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/site/words.json @@ -0,0 +1,426 @@ +{ + "questions/build/index.yaml": { + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved. Write it up and send it to people who will read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "A considered reply to your brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "See your own requests, approvals and handovers as a working site, before you commit to anything.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "A first draft of your own site", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you already know the problem, or do you want to see your own business as a site first?" + }, + "questions/custodians/index.yaml": { + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Send invite", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What does the network owe the people it affects, right now?" + }, + "questions/decide/subscribe.yaml": { + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" + }, + "questions/index.yaml": { + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us the problem, or try your own workflow as a working site before you pay for anything.", + "for_whom": "For an organisation with a problem, or a business sizing us up", + "heading": "Get software built around your problem", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "Build with us, hear from us now and then, or tell us what should change on this page.", + "for_whom": "For anyone who wants in, on their own terms", + "heading": "Work with us, or just stay in touch", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Tell us what the network is doing, or not doing, and how we can reach you.", + "form_title": "Reach a custodian", + "heading": "Get an answer from the people who keep the network", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "We open it and start a dialogue with you. Once we understand what the network is keeping that it shouldn't, we work it through to resolved, or tell you plainly if we can't.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "What brings you here?" + }, + "questions/join/index.yaml": { + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "You want to build software with people who read the whole brief, not just the summary.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with people who read the whole thing", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You've spotted something on this site that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Get a page fixed the way you'd write it", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us only when there's something to say", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" + }, + "questions/owners/index.yaml": { + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" + }, + "questions/owners/prospect-sent.yaml": { + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" + }, + "questions/owners/prospect.yaml": { + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" + }, + "questions/received/collaborate.yaml": { + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" + }, + "questions/received/commission.yaml": { + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" + }, + "questions/received/custody.yaml": { + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" + }, + "questions/received/propose.yaml": { + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" + }, + "questions/received/subscribe.yaml": { + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" + }, + "questions/received/trial.yaml": { + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" + } +} \ No newline at end of file diff --git a/runs/uhhm-2026-09-23/r1/tasks-full.jsonl b/runs/uhhm-2026-09-23/r1/tasks-full.jsonl new file mode 100644 index 0000000..3aa42ae --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/tasks-full.jsonl @@ -0,0 +1,27 @@ +{"id":"architecture-firm@/","persona":"architecture-firm","need":"commission","page":"/","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get software built around your problem"]} +{"id":"architecture-firm@/build","persona":"architecture-firm","need":"commission","page":"/build","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"You know the problem and want it solved. Write it up and send it to people who will read the whole thing.","A first draft of your own site":"See your own requests, approvals and handovers as a working site, before you commit to anything."}}},"expect":["A considered reply to your brief"]} +{"id":"climbing-gym-founder@/","persona":"climbing-gym-founder","need":"commission","page":"/","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get software built around your problem"]} +{"id":"climbing-gym-founder@/build","persona":"climbing-gym-founder","need":"commission","page":"/build","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"You know the problem and want it solved. Write it up and send it to people who will read the whole thing.","A first draft of your own site":"See your own requests, approvals and handovers as a working site, before you commit to anything."}}},"expect":["A considered reply to your brief"]} +{"id":"municipality-buyer@/","persona":"municipality-buyer","need":"commission","page":"/","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get software built around your problem"]} +{"id":"municipality-buyer@/build","persona":"municipality-buyer","need":"commission","page":"/build","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"You know the problem and want it solved. Write it up and send it to people who will read the whole thing.","A first draft of your own site":"See your own requests, approvals and handovers as a working site, before you commit to anything."}}},"expect":["A considered reply to your brief"]} +{"id":"exhibition-visitor@/","persona":"exhibition-visitor","need":"subscribe","page":"/","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Work with us, or just stay in touch"]} +{"id":"exhibition-visitor@/join","persona":"exhibition-visitor","need":"subscribe","page":"/join","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"You've spotted something on this site that should read differently, and you know roughly how.","Hear from us only when there's something to say":"You'd rather hear from us now and then than check back on your own.","Work with people who read the whole thing":"You want to build software with people who read the whole brief, not just the summary."}}},"expect":["Hear from us only when there's something to say"]} +{"id":"tech-journalist@/","persona":"tech-journalist","need":"subscribe","page":"/","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Work with us, or just stay in touch"]} +{"id":"tech-journalist@/join","persona":"tech-journalist","need":"subscribe","page":"/join","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"You've spotted something on this site that should read differently, and you know roughly how.","Hear from us only when there's something to say":"You'd rather hear from us now and then than check back on your own.","Work with people who read the whole thing":"You want to build software with people who read the whole brief, not just the summary."}}},"expect":["Hear from us only when there's something to say"]} +{"id":"rust-developer@/","persona":"rust-developer","need":"collaborate","page":"/","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Work with us, or just stay in touch"]} +{"id":"rust-developer@/join","persona":"rust-developer","need":"collaborate","page":"/join","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"You've spotted something on this site that should read differently, and you know roughly how.","Hear from us only when there's something to say":"You'd rather hear from us now and then than check back on your own.","Work with people who read the whole thing":"You want to build software with people who read the whole brief, not just the summary."}}},"expect":["Work with people who read the whole thing"]} +{"id":"interaction-designer@/","persona":"interaction-designer","need":"collaborate","page":"/","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Work with us, or just stay in touch"]} +{"id":"interaction-designer@/join","persona":"interaction-designer","need":"collaborate","page":"/join","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"You've spotted something on this site that should read differently, and you know roughly how.","Hear from us only when there's something to say":"You'd rather hear from us now and then than check back on your own.","Work with people who read the whole thing":"You want to build software with people who read the whole brief, not just the summary."}}},"expect":["Work with people who read the whole thing"]} +{"id":"student-intern@/","persona":"student-intern","need":"collaborate","page":"/","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Work with us, or just stay in touch"]} +{"id":"student-intern@/join","persona":"student-intern","need":"collaborate","page":"/join","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"You've spotted something on this site that should read differently, and you know roughly how.","Hear from us only when there's something to say":"You'd rather hear from us now and then than check back on your own.","Work with people who read the whole thing":"You want to build software with people who read the whole brief, not just the summary."}}},"expect":["Work with people who read the whole thing"]} +{"id":"plumber-owner@/","persona":"plumber-owner","need":"trial","page":"/","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get software built around your problem"]} +{"id":"plumber-owner@/build","persona":"plumber-owner","need":"trial","page":"/build","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"You know the problem and want it solved. Write it up and send it to people who will read the whole thing.","A first draft of your own site":"See your own requests, approvals and handovers as a working site, before you commit to anything."}}},"expect":["A first draft of your own site"]} +{"id":"dance-school@/","persona":"dance-school","need":"trial","page":"/","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get software built around your problem"]} +{"id":"dance-school@/build","persona":"dance-school","need":"trial","page":"/build","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"You know the problem and want it solved. Write it up and send it to people who will read the whole thing.","A first draft of your own site":"See your own requests, approvals and handovers as a working site, before you commit to anything."}}},"expect":["A first draft of your own site"]} +{"id":"node-runner@/","persona":"node-runner","need":"custody","page":"/","state":{"body":"I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get an answer from the people who keep the network"]} +{"id":"recorded-name@/","persona":"recorded-name","need":"custody","page":"/","state":{"body":"Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get an answer from the people who keep the network"]} +{"id":"app-builder@/","persona":"app-builder","need":"custody","page":"/","state":{"body":"I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Get an answer from the people who keep the network"]} +{"id":"wording-fix@/","persona":"wording-fix","need":"propose","page":"/","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Work with us, or just stay in touch"]} +{"id":"wording-fix@/join","persona":"wording-fix","need":"propose","page":"/join","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"You've spotted something on this site that should read differently, and you know roughly how.","Hear from us only when there's something to say":"You'd rather hear from us now and then than check back on your own.","Work with people who read the whole thing":"You want to build software with people who read the whole brief, not just the summary."}}},"expect":["Get a page fixed the way you'd write it"]} +{"id":"rewrite@/","persona":"rewrite","need":"propose","page":"/","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.","Get software built around your problem":"Send us the problem, or try your own workflow as a working site before you pay for anything.","Work with us, or just stay in touch":"Build with us, hear from us now and then, or tell us what should change on this page."}}},"expect":["Work with us, or just stay in touch"]} +{"id":"rewrite@/join","persona":"rewrite","need":"propose","page":"/join","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"You've spotted something on this site that should read differently, and you know roughly how.","Hear from us only when there's something to say":"You'd rather hear from us now and then than check back on your own.","Work with people who read the whole thing":"You want to build software with people who read the whole brief, not just the summary."}}},"expect":["Get a page fixed the way you'd write it"]} diff --git a/runs/uhhm-2026-09-23/r1/tasks-skim.jsonl b/runs/uhhm-2026-09-23/r1/tasks-skim.jsonl new file mode 100644 index 0000000..b5a453c --- /dev/null +++ b/runs/uhhm-2026-09-23/r1/tasks-skim.jsonl @@ -0,0 +1,27 @@ +{"id":"architecture-firm@/","persona":"architecture-firm","need":"commission","page":"/","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get software built around your problem"]} +{"id":"architecture-firm@/build","persona":"architecture-firm","need":"commission","page":"/build","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"A considered reply to your brief","A first draft of your own site":"A first draft of your own site"}}},"expect":["A considered reply to your brief"]} +{"id":"climbing-gym-founder@/","persona":"climbing-gym-founder","need":"commission","page":"/","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get software built around your problem"]} +{"id":"climbing-gym-founder@/build","persona":"climbing-gym-founder","need":"commission","page":"/build","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"A considered reply to your brief","A first draft of your own site":"A first draft of your own site"}}},"expect":["A considered reply to your brief"]} +{"id":"municipality-buyer@/","persona":"municipality-buyer","need":"commission","page":"/","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get software built around your problem"]} +{"id":"municipality-buyer@/build","persona":"municipality-buyer","need":"commission","page":"/build","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"A considered reply to your brief","A first draft of your own site":"A first draft of your own site"}}},"expect":["A considered reply to your brief"]} +{"id":"exhibition-visitor@/","persona":"exhibition-visitor","need":"subscribe","page":"/","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Work with us, or just stay in touch"]} +{"id":"exhibition-visitor@/join","persona":"exhibition-visitor","need":"subscribe","page":"/join","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"Get a page fixed the way you'd write it","Hear from us only when there's something to say":"Hear from us only when there's something to say","Work with people who read the whole thing":"Work with people who read the whole thing"}}},"expect":["Hear from us only when there's something to say"]} +{"id":"tech-journalist@/","persona":"tech-journalist","need":"subscribe","page":"/","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Work with us, or just stay in touch"]} +{"id":"tech-journalist@/join","persona":"tech-journalist","need":"subscribe","page":"/join","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"Get a page fixed the way you'd write it","Hear from us only when there's something to say":"Hear from us only when there's something to say","Work with people who read the whole thing":"Work with people who read the whole thing"}}},"expect":["Hear from us only when there's something to say"]} +{"id":"rust-developer@/","persona":"rust-developer","need":"collaborate","page":"/","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Work with us, or just stay in touch"]} +{"id":"rust-developer@/join","persona":"rust-developer","need":"collaborate","page":"/join","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"Get a page fixed the way you'd write it","Hear from us only when there's something to say":"Hear from us only when there's something to say","Work with people who read the whole thing":"Work with people who read the whole thing"}}},"expect":["Work with people who read the whole thing"]} +{"id":"interaction-designer@/","persona":"interaction-designer","need":"collaborate","page":"/","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Work with us, or just stay in touch"]} +{"id":"interaction-designer@/join","persona":"interaction-designer","need":"collaborate","page":"/join","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"Get a page fixed the way you'd write it","Hear from us only when there's something to say":"Hear from us only when there's something to say","Work with people who read the whole thing":"Work with people who read the whole thing"}}},"expect":["Work with people who read the whole thing"]} +{"id":"student-intern@/","persona":"student-intern","need":"collaborate","page":"/","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Work with us, or just stay in touch"]} +{"id":"student-intern@/join","persona":"student-intern","need":"collaborate","page":"/join","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"Get a page fixed the way you'd write it","Hear from us only when there's something to say":"Hear from us only when there's something to say","Work with people who read the whole thing":"Work with people who read the whole thing"}}},"expect":["Work with people who read the whole thing"]} +{"id":"plumber-owner@/","persona":"plumber-owner","need":"trial","page":"/","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get software built around your problem"]} +{"id":"plumber-owner@/build","persona":"plumber-owner","need":"trial","page":"/build","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"A considered reply to your brief","A first draft of your own site":"A first draft of your own site"}}},"expect":["A first draft of your own site"]} +{"id":"dance-school@/","persona":"dance-school","need":"trial","page":"/","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get software built around your problem"]} +{"id":"dance-school@/build","persona":"dance-school","need":"trial","page":"/build","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you already know the problem, or do you want to see your own business as a site first?\". Which alternative do they choose?","criteria":{"A considered reply to your brief":"A considered reply to your brief","A first draft of your own site":"A first draft of your own site"}}},"expect":["A first draft of your own site"]} +{"id":"node-runner@/","persona":"node-runner","need":"custody","page":"/","state":{"body":"I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get an answer from the people who keep the network"]} +{"id":"recorded-name@/","persona":"recorded-name","need":"custody","page":"/","state":{"body":"Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get an answer from the people who keep the network"]} +{"id":"app-builder@/","persona":"app-builder","need":"custody","page":"/","state":{"body":"I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Get an answer from the people who keep the network"]} +{"id":"wording-fix@/","persona":"wording-fix","need":"propose","page":"/","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Work with us, or just stay in touch"]} +{"id":"wording-fix@/join","persona":"wording-fix","need":"propose","page":"/join","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"Get a page fixed the way you'd write it","Hear from us only when there's something to say":"Hear from us only when there's something to say","Work with people who read the whole thing":"Work with people who read the whole thing"}}},"expect":["Get a page fixed the way you'd write it"]} +{"id":"rewrite@/","persona":"rewrite","need":"propose","page":"/","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"What brings you here?\". Which alternative do they choose?","criteria":{"Get an answer from the people who keep the network":"Get an answer from the people who keep the network","Get software built around your problem":"Get software built around your problem","Work with us, or just stay in touch":"Work with us, or just stay in touch"}}},"expect":["Work with us, or just stay in touch"]} +{"id":"rewrite@/join","persona":"rewrite","need":"propose","page":"/join","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Get a page fixed the way you'd write it":"Get a page fixed the way you'd write it","Hear from us only when there's something to say":"Hear from us only when there's something to say","Work with people who read the whole thing":"Work with people who read the whole thing"}}},"expect":["Get a page fixed the way you'd write it"]} diff --git a/runs/uhhm-2026-09-23/r2/answers-full.jsonl b/runs/uhhm-2026-09-23/r2/answers-full.jsonl new file mode 100644 index 0000000..8e1d2fb --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/answers-full.jsonl @@ -0,0 +1,27 @@ +{"choice":"Get software built, or try a site for your business first","confidence":0.85,"id":"architecture-firm@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"architecture-firm@/build"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"climbing-gym-founder@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"climbing-gym-founder@/build"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"municipality-buyer@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"municipality-buyer@/build"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"exhibition-visitor@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"exhibition-visitor@/join"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"tech-journalist@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"tech-journalist@/join"} +{"choice":"Work with us, hear from us, or change this website","confidence":0.95,"id":"rust-developer@/"} +{"choice":"Work with us","confidence":0.95,"id":"rust-developer@/join"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"interaction-designer@/"} +{"choice":"Work with us","confidence":0.95,"id":"interaction-designer@/join"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.85,"id":"student-intern@/"} +{"choice":"Work with us","confidence":0.95,"id":"student-intern@/join"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"plumber-owner@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"plumber-owner@/build"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"dance-school@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"dance-school@/build"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"node-runner@/"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"recorded-name@/"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"app-builder@/"} +{"choice":"Work with us, hear from us, or change this website","confidence":0.95,"id":"wording-fix@/"} +{"choice":"Suggest a change to this website","confidence":0.95,"id":"wording-fix@/join"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"rewrite@/"} +{"choice":"Suggest a change to this website","confidence":1.0,"id":"rewrite@/join"} diff --git a/runs/uhhm-2026-09-23/r2/answers-skim.jsonl b/runs/uhhm-2026-09-23/r2/answers-skim.jsonl new file mode 100644 index 0000000..ca28780 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/answers-skim.jsonl @@ -0,0 +1,27 @@ +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"architecture-firm@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"architecture-firm@/build"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"climbing-gym-founder@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"climbing-gym-founder@/build"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"municipality-buyer@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"municipality-buyer@/build"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"exhibition-visitor@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"exhibition-visitor@/join"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"tech-journalist@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"tech-journalist@/join"} +{"choice":"Work with us, hear from us, or change this website","confidence":0.95,"id":"rust-developer@/"} +{"choice":"Work with us","confidence":0.95,"id":"rust-developer@/join"} +{"choice":"Work with us, hear from us, or change this website","confidence":0.95,"id":"interaction-designer@/"} +{"choice":"Work with us","confidence":0.95,"id":"interaction-designer@/join"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"student-intern@/"} +{"choice":"Work with us","confidence":0.95,"id":"student-intern@/join"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"plumber-owner@/"} +{"choice":"See your own business as a site, before you buy anything","confidence":0.95,"id":"plumber-owner@/build"} +{"choice":"Work with us, hear from us, or change this website","confidence":0.95,"id":"dance-school@/"} +{"choice":"Have us build it: send the brief","confidence":0.95,"id":"dance-school@/build"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"node-runner@/"} +{"choice":"About the redoal network: run a node, build on it, or have something removed","confidence":0.95,"id":"recorded-name@/"} +{"choice":"Get software built, or try a site for your business first","confidence":0.95,"id":"app-builder@/"} +{"choice":"Work with us, hear from us, or change this website","confidence":0.95,"id":"wording-fix@/"} +{"choice":"Hear from us now and then","confidence":0.95,"id":"wording-fix@/join"} +{"choice":"Work with us, hear from us, or change this website","confidence":0.85,"id":"rewrite@/"} +{"choice":"Suggest a change to this website","confidence":1.0,"id":"rewrite@/join"} diff --git a/runs/uhhm-2026-09-23/r2/rated/rate.json b/runs/uhhm-2026-09-23/r2/rated/rate.json new file mode 100644 index 0000000..4180242 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/rated/rate.json @@ -0,0 +1,274 @@ +{ + "collaborate": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 27.081300813008127, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 0, + "understanding": { + "asked": 3, + "next": null, + "where": 3, + "which": 2 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 19.40740740740741, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 3, + "required_fields": 3, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 2 + }, + "commission": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 27.081300813008127, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 0, + "understanding": { + "asked": 3, + "next": null, + "where": 2, + "which": 1 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 31.056192660550458, + "options": 2, + "overloaded": false, + "page": "/build", + "personas": 3, + "required_fields": 4, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 2 + }, + "custody": { + "pages": [ + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 28.303899082568808, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 4, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 2 + } + } + ], + "steps": 1 + }, + "propose": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 27.081300813008127, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 1, + "which": 0 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 23.11111111111111, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 2, + "required_fields": 3, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + }, + "subscribe": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 27.081300813008127, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 2, + "which": 0 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 21.1010101010101, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 2, + "required_fields": 2, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + }, + "trial": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 27.081300813008127, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 0, + "which": 0 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 32.95073891625616, + "options": 2, + "overloaded": true, + "page": "/build", + "personas": 2, + "required_fields": 6, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + } +} \ No newline at end of file diff --git a/runs/uhhm-2026-09-23/r2/score.log b/runs/uhhm-2026-09-23/r2/score.log new file mode 100644 index 0000000..06b7e78 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/score.log @@ -0,0 +1,35 @@ +== answer full +== answer skim +== score full +MISROUTE: architecture-firm@/build: picked "See your own business as a site, before you buy anything" (0.95), the need is met by ["Have us build it: send the brief"] +MISROUTE: climbing-gym-founder@/build: picked "See your own business as a site, before you buy anything" (0.95), the need is met by ["Have us build it: send the brief"] +MISROUTE: exhibition-visitor@/: picked "About the redoal network: run a node, build on it, or have something removed" (0.95), the need is met by ["Work with us, hear from us, or change this website"] +MISROUTE: tech-journalist@/: picked "Get software built, or try a site for your business first" (0.95), the need is met by ["Work with us, hear from us, or change this website"] +MISROUTE: interaction-designer@/: picked "Get software built, or try a site for your business first" (0.95), the need is met by ["Work with us, hear from us, or change this website"] +MISROUTE: student-intern@/: picked "About the redoal network: run a node, build on it, or have something removed" (0.85), the need is met by ["Work with us, hear from us, or change this website"] +MISROUTE: dance-school@/: picked "About the redoal network: run a node, build on it, or have something removed" (0.95), the need is met by ["Get software built, or try a site for your business first"] +MISROUTE: rewrite@/: picked "About the redoal network: run a node, build on it, or have something removed" (0.95), the need is met by ["Work with us, hear from us, or change this website"] +wording: 19/27 routed right (70%) +== score skim +MISROUTE: exhibition-visitor@/: picked "About the redoal network: run a node, build on it, or have something removed" (0.95), the need is met by ["Work with us, hear from us, or change this website"] +MISROUTE: tech-journalist@/: picked "Get software built, or try a site for your business first" (0.95), the need is met by ["Work with us, hear from us, or change this website"] +MISROUTE: student-intern@/: picked "About the redoal network: run a node, build on it, or have something removed" (0.95), the need is met by ["Work with us, hear from us, or change this website"] +MISROUTE: dance-school@/: picked "Work with us, hear from us, or change this website" (0.95), the need is met by ["Get software built, or try a site for your business first"] +MISROUTE: dance-school@/build: picked "Have us build it: send the brief" (0.95), the need is met by ["See your own business as a site, before you buy anything"] +MISROUTE: app-builder@/: picked "Get software built, or try a site for your business first" (0.95), the need is met by ["About the redoal network: run a node, build on it, or have something removed"] +MISROUTE: wording-fix@/join: picked "Hear from us now and then" (0.95), the need is met by ["Suggest a change to this website"] +wording: 20/27 routed right (74%) +== rate +need LIX which where asked next gutted twin says page load +commission @/ 27 very easy 1/3 2/3 3/3 - 0/0/0/- ok 3 options, 0 required +commission @/build 31 easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 2 options, 4 required +trial @/ 27 very easy 0/2 0/2 2/2 - 0/0/0/- ok 3 options, 0 required +trial @/build 33 easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 2 options, 6 required - SPLIT +collaborate @/ 27 very easy 2/3 3/3 3/3 - 0/0/0/- ok 3 options, 0 required +collaborate @/join 19 very easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 3 options, 3 required +subscribe @/ 27 very easy 0/2 2/2 2/2 - 0/0/0/- ok 3 options, 0 required +subscribe @/join 21 very easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 3 options, 2 required +propose @/ 27 very easy 0/2 1/2 2/2 - 0/0/0/- ok 3 options, 0 required +propose @/join 23 very easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 3 options, 3 required +custody 28 very easy 2/3 3/3 3/3 3/3 0/0/0/0 ok 3 options, 4 required +== done diff --git a/runs/uhhm-2026-09-23/r2/site/aggregates.yaml b/runs/uhhm-2026-09-23/r2/site/aggregates.yaml new file mode 100644 index 0000000..cccafd2 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/aggregates.yaml @@ -0,0 +1,113 @@ +aggregates: +- bucket: applicants + initial: open + states: + active: + event: onboarded + declined: + event: declined + departed: + event: departed + invited: + event: invited + open: + event: applied + transitions: + active: + - departed + - declined + invited: + - active + - declined + open: + - invited + - declined +- bucket: custody_requests + initial: open + states: + declined: + event: declined + in_dialogue: + event: in_dialogue + open: + event: received + resolved: + event: resolved + transitions: + in_dialogue: + - resolved + - declined + open: + - in_dialogue + - declined +- bucket: development_proposals + initial: open + states: + approved: + event: approved + open: + event: proposed + rejected: + event: rejected + transitions: + open: + - approved + - rejected +- bucket: organizations + initial: prospect + states: + client: + event: became_client + past_client: + event: churned + prospect: + event: identified + transitions: + client: + - past_client + prospect: + - client + - past_client +- bucket: projects + initial: open + states: + accepted: + event: accepted + declined: + event: declined + open: + event: submitted + transitions: + open: + - accepted + - declined +- bucket: subscribers + initial: open + states: + open: + event: subscribed + unsubscribed: + event: unsubscribed + transitions: + open: + - unsubscribed +- attended_by: | + approved -> previewed: the n8n workflow that builds the draft site from an approved intake (docker, rauthy, portal content) and sends the preview link. Until it exists, owners run portal-trainer by hand and press the button. + bucket: trials + initial: open + states: + approved: + event: approved + declined: + event: declined + open: + event: received + previewed: + event: previewed + transitions: + approved: + - previewed + - declined + open: + - approved + - declined diff --git a/runs/uhhm-2026-09-23/r2/site/llm/01-questions_build_index.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/01-questions_build_index.yaml.md new file mode 100644 index 0000000..8517c6a --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/01-questions_build_index.yaml.md @@ -0,0 +1,174 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/build/index.yaml +It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "needs": { + "commission": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "name": "", + "org_contact": "", + "organization": "", + "project": "" + }, + "icon": "", + "labels": { + "email": "", + "name": "", + "org_contact": "", + "organization": "", + "project": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "trial": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "business": "", + "email": "", + "what_slows_us_down": "", + "what_we_do": "", + "what_we_keep_track_of": "", + "who_comes_to_us": "", + "who_is_involved": "" + }, + "icon": "", + "labels": { + "business": "", + "email": "", + "what_slows_us_down": "", + "what_we_do": "", + "what_we_keep_track_of": "", + "who_comes_to_us": "", + "who_is_involved": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved. Write it up and send it to people who will read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "A considered reply to your brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "See your own requests, approvals and handovers as a working site, before you commit to anything.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "A first draft of your own site", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you already know the problem, or do you want to see your own business as a site first?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/02-questions_custodians_index.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/02-questions_custodians_index.yaml.md new file mode 100644 index 0000000..c9aeeb9 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/02-questions_custodians_index.yaml.md @@ -0,0 +1,108 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/custodians/index.yaml +It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "buckets": { + "custody_requests": { + "description": "", + "heading": "", + "moves": { + "in_dialogue->declined": "declined>", + "in_dialogue->resolved": "resolved>", + "open->declined": "declined>", + "open->in_dialogue": "in_dialogue>" + } + } + }, + "confirm": "", + "description": "", + "invited": { + "description": "", + "done": "", + "heading": "" + }, + "invites": { + "custodians": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + } + }, + "links": {}, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Send invite", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What does the network owe the people it affects, right now?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/03-questions_decide_subscribe.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/03-questions_decide_subscribe.yaml.md new file mode 100644 index 0000000..729c7c0 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/03-questions_decide_subscribe.yaml.md @@ -0,0 +1,60 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/decide/subscribe.yaml +It is a page the person who sent a form reaches later, through a private link, to make a decision that is theirs: under `moves`, each entry is one thing they can decide. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "moves": { + "unsubscribed": { + "button": "", + "description": "", + "heading": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/04-questions_index.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/04-questions_index.yaml.md new file mode 100644 index 0000000..e11b912 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/04-questions_index.yaml.md @@ -0,0 +1,136 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/index.yaml +It is the front door: the first page any visitor sees. `question` is the page's one question. Under `doors`, each entry is one alternative that leads to a page of its own for one kind of visitor: its heading must let that visitor recognise themselves from the heading alone. Under `needs`, each entry is one alternative with a form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "doors": { + "build": { + "button": "", + "description": "", + "for_whom": "", + "heading": "", + "icon": "" + }, + "join": { + "button": "", + "description": "", + "for_whom": "", + "heading": "", + "icon": "" + } + }, + "needs": { + "custody": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "about": "", + "email": "", + "name": "", + "what": "" + }, + "icon": "", + "labels": { + "about": "", + "email": "", + "name": "", + "what": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us the problem, or try your own workflow as a working site before you pay for anything.", + "for_whom": "For an organisation with a problem, or a business sizing us up", + "heading": "Get software built around your problem", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "Build with us, hear from us now and then, or tell us what should change on this page.", + "for_whom": "For anyone who wants in, on their own terms", + "heading": "Work with us, or just stay in touch", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Tell us what the network is doing, or not doing, and how we can reach you.", + "form_title": "Reach a custodian", + "heading": "Get an answer from the people who keep the network", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "We open it and start a dialogue with you. Once we understand what the network is keeping that it shouldn't, we work it through to resolved, or tell you plainly if we can't.", + "road_icon": "route", + "road_title": "What happens next", + "who_title": "Who reads this", + "who_icon": "user-check", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime." + } + }, + "question": "What brings you here?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/05-questions_join_index.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/05-questions_join_index.yaml.md new file mode 100644 index 0000000..493c581 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/05-questions_join_index.yaml.md @@ -0,0 +1,208 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/join/index.yaml +It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "needs": { + "collaborate": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "interest": "", + "name": "", + "note": "" + }, + "icon": "", + "labels": { + "email": "", + "interest": "", + "name": "", + "note": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "propose": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "page": "", + "proposed_yaml": "", + "rationale": "", + "submitted_by": "" + }, + "icon": "", + "labels": { + "email": "", + "page": "", + "proposed_yaml": "", + "rationale": "", + "submitted_by": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "subscribe": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "name": "" + }, + "icon": "", + "labels": { + "email": "", + "name": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "You want to build software with people who read the whole brief, not just the summary.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with people who read the whole thing", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You've spotted something on this site that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Get a page fixed the way you'd write it", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us only when there's something to say", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/06-questions_owners_index.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/06-questions_owners_index.yaml.md new file mode 100644 index 0000000..56e3fe7 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/06-questions_owners_index.yaml.md @@ -0,0 +1,236 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/index.yaml +It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "buckets": { + "applicants": { + "description": "", + "heading": "", + "moves": { + "active->declined": "declined>", + "active->departed": "departed>", + "invited->active": "active>", + "invited->declined": "declined>", + "open->declined": "declined>", + "open->invited": "invited>" + } + }, + "custody_requests": { + "description": "", + "heading": "", + "moves": {} + }, + "development_proposals": { + "description": "", + "heading": "", + "moves": { + "open->approved": "approved>", + "open->rejected": "rejected>" + } + }, + "organizations": { + "description": "", + "heading": "", + "moves": { + "client->past_client": "past_client>", + "prospect->client": "client>", + "prospect->past_client": "past_client>" + } + }, + "projects": { + "description": "", + "heading": "", + "moves": { + "open->accepted": "accepted>", + "open->declined": "declined>" + } + }, + "subscribers": { + "description": "", + "heading": "", + "moves": { + "open->unsubscribed": "unsubscribed>" + } + }, + "trials": { + "description": "", + "heading": "", + "moves": { + "approved->declined": "declined>", + "approved->previewed": "previewed>", + "open->approved": "approved>", + "open->declined": "declined>" + } + } + }, + "confirm": "", + "description": "", + "invited": { + "description": "", + "done": "", + "heading": "" + }, + "invites": { + "custodians": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + }, + "owners": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + } + }, + "links": { + "prospect": { + "button": "", + "description": "", + "heading": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +{ + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" +} diff --git a/runs/uhhm-2026-09-23/r2/site/llm/07-questions_owners_prospect-sent.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/07-questions_owners_prospect-sent.yaml.md new file mode 100644 index 0000000..2bc4507 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/07-questions_owners_prospect-sent.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/prospect-sent.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/08-questions_owners_prospect.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/08-questions_owners_prospect.yaml.md new file mode 100644 index 0000000..290d1f2 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/08-questions_owners_prospect.yaml.md @@ -0,0 +1,92 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/prospect.yaml +It is a page only one role inside the business can open, holding one form. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "contact": "", + "name": "", + "note": "" + }, + "icon": "", + "labels": { + "contact": "", + "name": "", + "note": "" + }, + "page_description": "", + "question": "", + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/09-questions_received_collaborate.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/09-questions_received_collaborate.yaml.md new file mode 100644 index 0000000..6f83c69 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/09-questions_received_collaborate.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/collaborate.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/10-questions_received_commission.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/10-questions_received_commission.yaml.md new file mode 100644 index 0000000..225f61e --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/10-questions_received_commission.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/commission.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/11-questions_received_custody.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/11-questions_received_custody.yaml.md new file mode 100644 index 0000000..ee326dc --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/11-questions_received_custody.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/custody.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/12-questions_received_propose.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/12-questions_received_propose.yaml.md new file mode 100644 index 0000000..1ddaf45 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/12-questions_received_propose.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/propose.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/13-questions_received_subscribe.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/13-questions_received_subscribe.yaml.md new file mode 100644 index 0000000..2760f6f --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/13-questions_received_subscribe.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/subscribe.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/llm/14-questions_received_trial.yaml.md b/runs/uhhm-2026-09-23/r2/site/llm/14-questions_received_trial.yaml.md new file mode 100644 index 0000000..062e729 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/llm/14-questions_received_trial.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/trial.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" +} +``` diff --git a/runs/uhhm-2026-09-23/r2/site/needs.yaml b/runs/uhhm-2026-09-23/r2/site/needs.yaml new file mode 100644 index 0000000..4bded10 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/needs.yaml @@ -0,0 +1,173 @@ +needs: +- done_when: + - accepted + - declined + enters: / + handled_by: owners + id: commission + lands_in: projects + max_fields: 4 + max_steps: 2 + stages: + - open + - accepted + - declined + success: + - accepted + via: Get software built, or try a site for your business first + wants: a considered reply to a brief, from people who read the whole thing + who: an organization with a problem it wants software to solve +- done_when: + - previewed + - declined + enters: / + handled_by: owners + id: trial + lands_in: trials + max_fields: 6 + max_steps: 2 + stages: + - open + - approved + - previewed + - declined + success: + - previewed + via: Get software built, or try a site for your business first + wants: a first draft of a site for their own roles, built from their own words and approved by a person first + who: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything +- done_when: + - departed + - declined + enters: / + handled_by: owners + id: collaborate + lands_in: applicants + max_fields: 3 + max_steps: 2 + stages: + - open + - invited + - active + - departed + - declined + success: + - departed + via: Work with us, hear from us, or change this website + wants: to be read as a person, and invited in if there is a fit + who: someone who wants to work with us on what we build +- done_when: + - unsubscribed + enters: / + handled_by: owners + id: subscribe + lands_in: subscribers + max_fields: 2 + max_steps: 2 + stages: + - open + - unsubscribed + success: [] + via: Work with us, hear from us, or change this website + wants: a note now and then, and an easy way out + who: someone who wants to hear from us when there is something to say +- done_when: + - approved + - rejected + enters: / + handled_by: owners + id: propose + lands_in: development_proposals + max_fields: 3 + max_steps: 2 + stages: + - open + - approved + - rejected + success: + - approved + via: Work with us, hear from us, or change this website + wants: the change read by a person and, if approved, made + who: a visitor who sees how a page on this site should change +- done_when: + - resolved + - declined + enters: / + handled_by: custodians + id: custody + lands_in: custody_requests + max_fields: 4 + max_steps: 1 + stages: + - open + - in_dialogue + - resolved + - declined + success: + - resolved + via: 'About the redoal network: run a node, build on it, or have something removed' + wants: an answer from a custodian, and action where the network keeps something it should not + who: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node +- done_when: + - past_client + enters: /owners/prospect + enters_as: owners + handled_by: owners + id: prospect + lands_in: organizations + max_fields: 2 + max_steps: 1 + stages: + - prospect + - client + - past_client + success: [] + via: Keep an organization on your radar + wants: it written down and walked through its states from the desk + who: an owner who has met an organization worth following up +personas: +- id: architecture-firm + need: commission + text: We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves. +- id: climbing-gym-founder + need: commission + text: I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me. +- id: municipality-buyer + need: commission + text: Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it. +- id: exhibition-visitor + need: subscribe + text: I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news. +- id: tech-journalist + need: subscribe + text: I write about Nordic technology. Keep me posted on what you release so I can cover it. +- id: rust-developer + need: collaborate + text: I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you. +- id: interaction-designer + need: collaborate + text: I'm an interaction designer. I want to work with you on the drawing interface. +- id: student-intern + need: collaborate + text: I'm a computer science student looking for a summer internship doing infrastructure work. +- id: plumber-owner + need: trial + text: I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money. +- id: dance-school + need: trial + text: We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us? +- id: node-runner + need: custody + text: I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to? +- id: recorded-name + need: custody + text: Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network. +- id: app-builder + need: custody + text: I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides? +- id: wording-fix + need: propose + text: The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page. +- id: rewrite + need: propose + text: One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/build/index.yaml b/runs/uhhm-2026-09-23/r2/site/questions/build/index.yaml new file mode 100644 index 0000000..2439592 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/build/index.yaml @@ -0,0 +1,94 @@ +alternatives: +- action: /received/commission + consequence: + - Send the brief + description: You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing. + encouragements: + - Someone here reads every brief in full before writing back. + features: + - description: We read your brief and either take it on or tell you honestly if it's not a fit. + icon: lucide:route + name: What happens next + - description: One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly. + icon: lucide:user-check + name: Who reads this + - description: The more of the problem you put in, the better the reply. + icon: lucide:briefcase + name: Tell us the problem + requirements: + - label: Your name + name: name + placeholder: Sara Nilsen + type: text + - label: Your email + name: email + placeholder: sara@company.com + type: email + - label: The problem you want solved + name: project + placeholder: Our drivers log hours on paper and it takes a day to get them into payroll. + type: textarea + - label: Your organization + name: organization + placeholder: Nilsen Transport AS + type: text + - label: Who we should talk to + name: org_contact + optional: true + placeholder: Sara Nilsen, ops manager + type: text + name: 'Have us build it: send the brief' + record_as: projects +- action: /received/trial + consequence: + - Start the draft + description: Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through. + encouragements: + - A person looks at what you send before anything gets built. + features: + - description: We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further. + icon: lucide:route + name: What happens next + - description: An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly. + icon: lucide:user-check + name: Who reads this + - description: Answer in your own words - there's no wrong way to describe your business. + icon: lucide:layers + name: Describe your business + requirements: + - label: Your business + name: business + placeholder: Nilsen Transport AS + type: text + - label: Your email + name: email + placeholder: sara@company.com + type: email + - label: What you do + name: what_we_do + placeholder: We move freight for local businesses and handle the paperwork for them. + type: textarea + - label: Who comes to you + name: who_comes_to_us + placeholder: Local businesses that need something moved on short notice. + type: textarea + - label: What you keep track of + name: what_we_keep_track_of + placeholder: Bookings, driver hours, and which loads are still waiting on a signature. + type: textarea + - label: Who's involved + name: who_is_involved + placeholder: Drivers, dispatchers, and the customers waiting on their delivery. + type: textarea + - label: What slows you down + name: what_slows_us_down + optional: true + placeholder: Approvals sit in someone's inbox for days before anyone acts on them. + type: textarea + name: See your own business as a site, before you buy anything + record_as: trials +description: Have a problem software should solve, or want to see your own way of working as a site before you pay anyone? +name: Do you have a brief, or do you want to see your business as a site first? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r2/site/questions/custodians/_section.yaml b/runs/uhhm-2026-09-23/r2/site/questions/custodians/_section.yaml new file mode 100644 index 0000000..de40ef5 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/custodians/_section.yaml @@ -0,0 +1 @@ +qualifies: custodians diff --git a/runs/uhhm-2026-09-23/r2/site/questions/custodians/index.yaml b/runs/uhhm-2026-09-23/r2/site/questions/custodians/index.yaml new file mode 100644 index 0000000..6a0b293 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/custodians/index.yaml @@ -0,0 +1,65 @@ +alternatives: +- action: /custodians + consequence: + - Confirm + description: Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it. + features: + - description: '' + name: '' + resource: + requires_group: custodians + source: + bucket: custody_requests + kind: kv + transitions: + - from: in_dialogue + label: Mark resolved + to: resolved + - from: in_dialogue + label: Close, no action + to: declined + - from: open + label: Open dialogue + to: in_dialogue + - from: open + label: Decline case + to: declined + name: Custody cases waiting on you +- action: /custodians + consequence: + - Invite custodian + description: Give someone an account and a one-time link to join as a custodian. + features: + - description: '' + name: Invite a custodian + requirements: + - label: Name + name: name + - label: Email + name: email + type: email + invite: + group: custodians + name: Bring in another custodian +- action: /custodians + consequence: + - Confirm + description: Custodians invited but not yet signed in. + features: + - description: '' + name: '' + resource: + requires_group: custodians + source: + bucket: portal_invites + kind: kv + transitions: + - from: open + label: Signed in + to: done + name: Invited custodians +description: 'The desk for custodians: open custody cases, and the people invited to answer them.' +name: What is waiting on the custodians? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r2/site/questions/decide/subscribe.yaml b/runs/uhhm-2026-09-23/r2/site/questions/decide/subscribe.yaml new file mode 100644 index 0000000..45114ca --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/decide/subscribe.yaml @@ -0,0 +1,9 @@ +alternatives: +- description: You'll stop hearing from us. Nothing else changes. + name: Stop getting notes from us + self_transition: + bucket: subscribers + label: Unsubscribe + to: unsubscribed +description: You're on our list. Change your mind whenever you like. +name: Do you want to keep hearing from us? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/index.yaml b/runs/uhhm-2026-09-23/r2/site/questions/index.yaml new file mode 100644 index 0000000..d4b95ff --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/index.yaml @@ -0,0 +1,63 @@ +alternatives: +- action: /build + consequence: + - Start here + description: Send us a brief, or describe how work flows through your business and see it as a working site before you pay for anything. + features: + - description: '' + icon: lucide:hammer + name: For an organisation with a problem, or a business sizing us up + name: Get software built, or try a site for your business first +- action: /join + consequence: + - Start here + description: Join us as a collaborator, get a note now and then, or suggest a change to a page on uhhm.no. + features: + - description: '' + icon: lucide:handshake + name: For anyone who wants in, on their own terms + name: Work with us, hear from us, or change this website +- action: /received/custody + consequence: + - Send to a custodian + description: UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at. + encouragements: + - A custodian reads every message that comes in here. + features: + - description: A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided. + icon: lucide:route + name: What happens next + - description: A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime. + icon: lucide:user-check + name: Who reads this + - description: Say which of the four it is, and what you need, in a few lines. + icon: lucide:shield + name: Reach a custodian + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@yourcompany.com + type: email + - label: What's going on + name: about + options: + - Running a node of my own + - Building on the network + - Something the network keeps about me + - Something else + type: select + - label: In short + name: what + placeholder: A relay node is misbehaving + type: textarea + name: 'About the redoal network: run a node, build on it, or have something removed' + record_as: custody_requests +description: UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath. +name: What brings you here? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r2/site/questions/join/index.yaml b/runs/uhhm-2026-09-23/r2/site/questions/join/index.yaml new file mode 100644 index 0000000..450e4c6 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/join/index.yaml @@ -0,0 +1,110 @@ +alternatives: +- action: /received/collaborate + consequence: + - Get in touch + description: 'A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit.' + encouragements: + - A person reads this, not a form filter — worth the ten minutes. + features: + - description: We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too. + icon: lucide:route + name: What happens next + - description: One of the owners reads this directly — for anything urgent, write to bl@uhhm.no. + icon: lucide:user-check + name: Who reads this + - description: Tell us who you are and what kind of work you're after. + icon: lucide:handshake + name: Say hello + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@example.com + type: email + - label: What kind of work + name: interest + placeholder: Backend work, or something design-heavy + type: textarea + - label: Tell us more + name: note + optional: true + placeholder: A bit about what you'd want to work on, or a link to your work + type: textarea + name: Work with us + record_as: applicants +- action: /received/subscribe + consequence: + - Sign up + description: You'd rather hear from us now and then than check back on your own. + encouragements: + - One click unsubscribes you later, no questions asked. + features: + - description: You're on the list. We write when there's something worth saying, and you can leave the list whenever you like. + icon: lucide:bell + name: What happens next + - description: An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first. + icon: lucide:user-check + name: Who reads this + - description: Just your email, or your name too if you'd like. + icon: lucide:mail + name: Stay in the loop + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@example.com + type: email + name: Hear from us now and then + record_as: subscribers +- action: /received/propose + consequence: + - Send change + description: You have spotted a page on uhhm.no that should read differently, and you know roughly how. + encouragements: + - Even a rough version helps — we can tidy the wording ourselves. + features: + - description: Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back. + icon: lucide:route + name: What happens next + - description: An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive. + icon: lucide:user-check + name: Who reads this + - description: Point us to the page and show us the change. + icon: lucide:pencil + name: Propose a change + requirements: + - label: Your name + name: submitted_by + placeholder: Your name + type: text + - label: Email + name: email + optional: true + placeholder: you@example.com + type: email + - label: Which page + name: page + optional: true + placeholder: questions/join/index.yaml + type: text + - label: Why this is better + name: rationale + placeholder: The current heading doesn't say what you actually get + type: textarea + - label: Your proposed text + name: proposed_yaml + placeholder: 'heading: "A clearer way to say this"' + type: textarea + name: Suggest a change to this website + record_as: development_proposals +description: 'Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.' +name: How do you want to be part of this? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r2/site/questions/owners/_section.yaml b/runs/uhhm-2026-09-23/r2/site/questions/owners/_section.yaml new file mode 100644 index 0000000..670fca7 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/owners/_section.yaml @@ -0,0 +1 @@ +qualifies: owners diff --git a/runs/uhhm-2026-09-23/r2/site/questions/owners/index.yaml b/runs/uhhm-2026-09-23/r2/site/questions/owners/index.yaml new file mode 100644 index 0000000..a59e0b0 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/owners/index.yaml @@ -0,0 +1,212 @@ +alternatives: +- action: /owners + consequence: + - Confirm + description: People who've asked to build with us, waiting on a decision or already working alongside us. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: applicants + kind: kv + transitions: + - from: active + label: Mark departed + to: departed + - from: active + label: End collaboration + to: declined + - from: invited + label: Confirm active + to: active + - from: invited + label: Withdraw invite + to: declined + - from: open + label: Send invite + to: invited + - from: open + label: Decline applicant + to: declined + name: People who want to build with us +- action: /owners + consequence: + - Confirm + description: Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: custody_requests + kind: kv + transitions: [] + name: What's been raised with custodians +- action: /owners + consequence: + - Confirm + description: Changes visitors have proposed for pages on this site, waiting on a yes or no. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: development_proposals + kind: kv + transitions: + - from: open + label: Approve change + to: approved + - from: open + label: Reject change + to: rejected + name: Proposed changes to the site +- action: /owners + consequence: + - Confirm + description: Organizations you've met, tracked from first contact through to client and beyond. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: organizations + kind: kv + transitions: + - from: client + label: Mark past client + to: past_client + - from: prospect + label: Mark as client + to: client + - from: prospect + label: Mark not pursued + to: past_client + name: Organizations you're tracking +- action: /owners + consequence: + - Confirm + description: Briefs sent in by organizations with a problem they want solved. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: projects + kind: kv + transitions: + - from: open + label: Accept brief + to: accepted + - from: open + label: Decline brief + to: declined + name: Briefs waiting on a reply +- action: /owners + consequence: + - Confirm + description: People who want to hear from you now and then. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: subscribers + kind: kv + transitions: + - from: open + label: Unsubscribe them + to: unsubscribed + name: Who's hearing from you +- action: /owners + consequence: + - Confirm + description: Businesses who want to see their own workflow as a working site before committing to anything. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: trials + kind: kv + transitions: + - from: approved + label: Mark previewed + to: previewed + - from: approved + label: Decline trial + to: declined + - from: open + label: Approve trial + to: approved + - from: open + label: Decline trial + to: declined + name: Trial sites in progress +- action: /owners/prospect + consequence: + - Add prospect + description: Write down an organization worth following up, and track it from first contact onward. + name: Track a new organization +- action: /owners + consequence: + - Send invite + description: Bring someone in to help keep the first node and answer for the network. + features: + - description: '' + name: Invite a custodian + requirements: + - label: Their name + name: name + - label: Their email + name: email + type: email + invite: + group: custodians + name: Bring in a custodian +- action: /owners + consequence: + - Send invite + description: Bring someone in to work this desk alongside you. + features: + - description: '' + name: Invite an owner + requirements: + - label: Their name + name: name + - label: Their email + name: email + type: email + invite: + group: owners + name: Bring in another owner +- action: /owners + consequence: + - Confirm + description: People you've invited in, and whether they've taken it up yet. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: portal_invites + kind: kv + transitions: + - from: open + label: Taken up + to: done + name: Invites you've sent +description: 'Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.' +name: What's waiting on me today? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r2/site/questions/owners/prospect-sent.yaml b/runs/uhhm-2026-09-23/r2/site/questions/owners/prospect-sent.yaml new file mode 100644 index 0000000..d49a1d4 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/owners/prospect-sent.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: An owner walks it from prospect to client, and on to past client, as the relationship moves. + name: It's on the desk now +- action: /owners + consequence: + - Back to site + description: '' + name: Back to site +description: Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking. +name: What happens to this now? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/owners/prospect.yaml b/runs/uhhm-2026-09-23/r2/site/questions/owners/prospect.yaml new file mode 100644 index 0000000..581bd11 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/owners/prospect.yaml @@ -0,0 +1,39 @@ +alternatives: +- action: /owners/prospect-sent + consequence: + - Add to prospects + description: One line per organization worth watching, moved through the stages as things develop. + encouragements: + - Takes a minute, and it's yours to update later. + features: + - description: It sits as a prospect until something moves - then you mark it client, and later past client if the work ends. + icon: lucide:route + name: Moves as you update it + - description: Only you see this, so keep it wherever you check next. + icon: lucide:user + name: Just for you + - description: Name the organization and where things stand. + icon: lucide:briefcase + name: New prospect + requirements: + - label: Organization + name: name + placeholder: Nordvik Bakery + type: text + - label: Contact + name: contact + placeholder: met at the bakers' conference, [email protected] + type: text + - label: Note + name: note + optional: true + placeholder: wants a booking flow, follow up after harvest season + type: textarea + name: Keep an organization on your radar + record_as: organizations +description: Write down an organization worth following up, and move it through client and past client as things develop. +followup: false +name: Is there an organization I should be keeping track of? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/r2/site/questions/received/collaborate.yaml b/runs/uhhm-2026-09-23/r2/site/questions/received/collaborate.yaml new file mode 100644 index 0000000..c612fe8 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/received/collaborate.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: If it looks like a fit, we'll reach out to talk about where you could help. + name: We'll write if there's a fit +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring. +name: What happens to what I just sent? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/received/commission.yaml b/runs/uhhm-2026-09-23/r2/site/questions/received/commission.yaml new file mode 100644 index 0000000..59e77bc --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/received/commission.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: Expect a reply within a few working days, either way, straight to your inbox. + name: A real reply from someone who read it +- action: / + consequence: + - Back to home + description: '' + name: Back to home +description: Your brief is in. An owner reads every commission end to end before replying. +name: What happens now that we've sent our brief? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/received/custody.yaml b/runs/uhhm-2026-09-23/r2/site/questions/received/custody.yaml new file mode 100644 index 0000000..150966f --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/received/custody.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: Expect a reply once your report has been looked at and the network checked. + name: A custodian is on it +- action: / + consequence: + - Back to the site + description: '' + name: Back to the site +description: A custodian reads every message about the redoal network and what it keeps. +name: Who looks after what the network keeps? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/received/propose.yaml b/runs/uhhm-2026-09-23/r2/site/questions/received/propose.yaml new file mode 100644 index 0000000..1ae02a9 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/received/propose.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: We'll write back once it's been read — approved and made live, or turned down with a reason. + name: A read, then a decision +- action: / + consequence: + - Back home + description: '' + name: Back home +description: Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page. +name: What happens to my proposal now? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/received/subscribe.yaml b/runs/uhhm-2026-09-23/r2/site/questions/received/subscribe.yaml new file mode 100644 index 0000000..c2910bb --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/received/subscribe.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: You're on the list. Every note has an unsubscribe link if it stops being useful. + name: You're on the list +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: You'll hear from us when there's something worth saying, not on a schedule. +name: What happens now that I've subscribed? diff --git a/runs/uhhm-2026-09-23/r2/site/questions/received/trial.yaml b/runs/uhhm-2026-09-23/r2/site/questions/received/trial.yaml new file mode 100644 index 0000000..586bcd3 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/questions/received/trial.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live. + name: A first draft, built from your own words +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: We read every trial request ourselves before anything gets built. +name: What happens now that you've sent this? diff --git a/runs/uhhm-2026-09-23/r2/site/site.yaml b/runs/uhhm-2026-09-23/r2/site/site.yaml new file mode 100644 index 0000000..aa5de2a --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/site.yaml @@ -0,0 +1,2 @@ +lang: en +title: UHHM diff --git a/runs/uhhm-2026-09-23/r2/site/words.json b/runs/uhhm-2026-09-23/r2/site/words.json new file mode 100644 index 0000000..ebcf7c5 --- /dev/null +++ b/runs/uhhm-2026-09-23/r2/site/words.json @@ -0,0 +1,426 @@ +{ + "questions/build/index.yaml": { + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "Have us build it: send the brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "See your own business as a site, before you buy anything", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you have a brief, or do you want to see your business as a site first?" + }, + "questions/custodians/index.yaml": { + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Confirm", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What is waiting on the custodians?" + }, + "questions/decide/subscribe.yaml": { + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" + }, + "questions/index.yaml": { + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us a brief, or describe how work flows through your business and see it as a working site before you pay for anything.", + "for_whom": "For an organisation with a problem, or a business sizing us up", + "heading": "Get software built, or try a site for your business first", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "Join us as a collaborator, get a note now and then, or suggest a change to a page on uhhm.no.", + "for_whom": "For anyone who wants in, on their own terms", + "heading": "Work with us, hear from us, or change this website", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Say which of the four it is, and what you need, in a few lines.", + "form_title": "Reach a custodian", + "heading": "About the redoal network: run a node, build on it, or have something removed", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "What brings you here?" + }, + "questions/join/index.yaml": { + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with us", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Suggest a change to this website", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us now and then", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" + }, + "questions/owners/index.yaml": { + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" + }, + "questions/owners/prospect-sent.yaml": { + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" + }, + "questions/owners/prospect.yaml": { + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" + }, + "questions/received/collaborate.yaml": { + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" + }, + "questions/received/commission.yaml": { + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" + }, + "questions/received/custody.yaml": { + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" + }, + "questions/received/propose.yaml": { + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" + }, + "questions/received/subscribe.yaml": { + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" + }, + "questions/received/trial.yaml": { + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" + } +} \ No newline at end of file diff --git a/runs/uhhm-2026-09-23/rated/rate.json b/runs/uhhm-2026-09-23/rated/rate.json new file mode 100644 index 0000000..e61a44b --- /dev/null +++ b/runs/uhhm-2026-09-23/rated/rate.json @@ -0,0 +1,274 @@ +{ + "collaborate": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 29.517543859649123, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 0, + "understanding": { + "asked": 3, + "next": null, + "where": 3, + "which": 2 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 19.40740740740741, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 3, + "required_fields": 3, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 2 + }, + "commission": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 29.517543859649123, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 0, + "understanding": { + "asked": 3, + "next": null, + "where": 2, + "which": 1 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 31.056192660550458, + "options": 2, + "overloaded": false, + "page": "/build", + "personas": 3, + "required_fields": 4, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 2 + }, + "custody": { + "pages": [ + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 30.00409836065574, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 3, + "required_fields": 4, + "understanding": { + "asked": 3, + "next": 3, + "where": 3, + "which": 3 + } + } + ], + "steps": 1 + }, + "propose": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 29.517543859649123, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 2, + "which": 1 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 23.11111111111111, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 2, + "required_fields": 3, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + }, + "subscribe": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 29.517543859649123, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 2, + "which": 2 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 21.1010101010101, + "options": 3, + "overloaded": false, + "page": "/join", + "personas": 2, + "required_fields": 2, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + }, + "trial": { + "pages": [ + { + "control": { + "asked": 0, + "next": null, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": false, + "lix": 29.517543859649123, + "options": 3, + "overloaded": false, + "page": "/", + "personas": 2, + "required_fields": 0, + "understanding": { + "asked": 2, + "next": null, + "where": 2, + "which": 1 + } + }, + { + "control": { + "asked": 0, + "next": 0, + "where": 0, + "which": 0 + }, + "control_ok": true, + "followup_shown": true, + "lix": 32.95073891625616, + "options": 2, + "overloaded": true, + "page": "/build", + "personas": 2, + "required_fields": 6, + "understanding": { + "asked": 2, + "next": 2, + "where": 2, + "which": 2 + } + } + ], + "steps": 2 + } +} \ No newline at end of file diff --git a/runs/uhhm-2026-09-23/score.log b/runs/uhhm-2026-09-23/score.log new file mode 100644 index 0000000..6327a13 --- /dev/null +++ b/runs/uhhm-2026-09-23/score.log @@ -0,0 +1,34 @@ +== answer full +== answer skim +== score full +MISROUTE: architecture-firm@/build: picked "See your own business as a site, before you buy anything" (0.95), the need is met by ["Have us build it: send the brief"] +MISROUTE: climbing-gym-founder@/build: picked "See your own business as a site, before you buy anything" (0.95), the need is met by ["Have us build it: send the brief"] +MISROUTE: exhibition-visitor@/: picked "You are on the redoal network: a node, an app, or a recording that concerns you" (0.95), the need is met by ["You want to join us, follow us, or fix a page on this site"] +MISROUTE: tech-journalist@/: picked "You run an organization that needs software built" (0.95), the need is met by ["You want to join us, follow us, or fix a page on this site"] +MISROUTE: interaction-designer@/: picked "You are on the redoal network: a node, an app, or a recording that concerns you" (0.95), the need is met by ["You want to join us, follow us, or fix a page on this site"] +MISROUTE: dance-school@/: picked "You are on the redoal network: a node, an app, or a recording that concerns you" (0.95), the need is met by ["You run an organization that needs software built"] +MISROUTE: app-builder@/: picked "You run an organization that needs software built" (0.95), the need is met by ["You are on the redoal network: a node, an app, or a recording that concerns you"] +MISROUTE: rewrite@/: picked "You are on the redoal network: a node, an app, or a recording that concerns you" (1.00), the need is met by ["You want to join us, follow us, or fix a page on this site"] +wording: 19/27 routed right (70%) +== score skim +MISROUTE: exhibition-visitor@/: picked "You are on the redoal network: a node, an app, or a recording that concerns you" (0.95), the need is met by ["You want to join us, follow us, or fix a page on this site"] +MISROUTE: tech-journalist@/: picked "You run an organization that needs software built" (0.95), the need is met by ["You want to join us, follow us, or fix a page on this site"] +MISROUTE: interaction-designer@/: picked "You are on the redoal network: a node, an app, or a recording that concerns you" (0.95), the need is met by ["You want to join us, follow us, or fix a page on this site"] +MISROUTE: dance-school@/: picked "You want to join us, follow us, or fix a page on this site" (0.95), the need is met by ["You run an organization that needs software built"] +MISROUTE: dance-school@/build: picked "Have us build it: send the brief" (0.95), the need is met by ["See your own business as a site, before you buy anything"] +MISROUTE: wording-fix@/join: picked "Hear from us now and then" (0.95), the need is met by ["Suggest a change to this website"] +wording: 21/27 routed right (78%) +== rate +need LIX which where asked next gutted twin says page load +commission @/ 30 very easy 1/3 2/3 3/3 - 0/0/0/- ok 3 options, 0 required +commission @/build 31 easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 2 options, 4 required +trial @/ 30 very easy 1/2 2/2 2/2 - 0/0/0/- ok 3 options, 0 required +trial @/build 33 easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 2 options, 6 required - SPLIT +collaborate @/ 30 very easy 2/3 3/3 3/3 - 0/0/0/- ok 3 options, 0 required +collaborate @/join 19 very easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 3 options, 3 required +subscribe @/ 30 very easy 2/2 2/2 2/2 - 0/0/0/- ok 3 options, 0 required +subscribe @/join 21 very easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 3 options, 2 required +propose @/ 30 very easy 1/2 2/2 2/2 - 0/0/0/- ok 3 options, 0 required +propose @/join 23 very easy 2/2 2/2 2/2 2/2 0/0/0/0 ok 3 options, 3 required +custody 30 easy 3/3 3/3 3/3 3/3 0/0/0/0 ok 3 options, 4 required +== done diff --git a/runs/uhhm-2026-09-23/score.sh b/runs/uhhm-2026-09-23/score.sh new file mode 100755 index 0000000..b7ef331 --- /dev/null +++ b/runs/uhhm-2026-09-23/score.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# Score the built uhhm site: routing by a blind visitor (qwen3:8b), one +# task per call, with and without descriptions; then rate the cards. +set -eu +cd "$(dirname "$0")" +IRIS=/var/local/cargo-target/release/iris +T=/var/local/cargo-target/release/portal-trainer +LLM="MODEL=qwen3:8b ../../engines/ollama.sh" +$IRIS check --path site/questions --needs-tasks tasks-full.jsonl --needs-sim model.json > iris.log 2>&1 +$IRIS check --path site/questions --needs-tasks tasks-skim.jsonl --skim >> iris.log 2>&1 +echo "== answer full"; $T answer --tasks tasks-full.jsonl --repo site --llm "$LLM" > answers-full.jsonl +echo "== answer skim"; $T answer --tasks tasks-skim.jsonl --repo site --llm "$LLM" > answers-skim.jsonl +echo "== score full"; $IRIS check --path site/questions --needs-tasks tasks-full.jsonl --needs-score answers-full.jsonl 2>&1 | grep -E "MISROUTE|HESITANT|UNANSWERED|wording:" +echo "== score skim"; $IRIS check --path site/questions --needs-tasks tasks-skim.jsonl --skim --needs-score answers-skim.jsonl 2>&1 | grep -E "MISROUTE|HESITANT|UNANSWERED|wording:" +echo "== rate"; $T rate --model model.json --out rated --repo site --llm "$LLM" 2>&1 | tail -40 +echo "== done" diff --git a/runs/uhhm-2026-09-23/site/aggregates.yaml b/runs/uhhm-2026-09-23/site/aggregates.yaml new file mode 100644 index 0000000..cccafd2 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/aggregates.yaml @@ -0,0 +1,113 @@ +aggregates: +- bucket: applicants + initial: open + states: + active: + event: onboarded + declined: + event: declined + departed: + event: departed + invited: + event: invited + open: + event: applied + transitions: + active: + - departed + - declined + invited: + - active + - declined + open: + - invited + - declined +- bucket: custody_requests + initial: open + states: + declined: + event: declined + in_dialogue: + event: in_dialogue + open: + event: received + resolved: + event: resolved + transitions: + in_dialogue: + - resolved + - declined + open: + - in_dialogue + - declined +- bucket: development_proposals + initial: open + states: + approved: + event: approved + open: + event: proposed + rejected: + event: rejected + transitions: + open: + - approved + - rejected +- bucket: organizations + initial: prospect + states: + client: + event: became_client + past_client: + event: churned + prospect: + event: identified + transitions: + client: + - past_client + prospect: + - client + - past_client +- bucket: projects + initial: open + states: + accepted: + event: accepted + declined: + event: declined + open: + event: submitted + transitions: + open: + - accepted + - declined +- bucket: subscribers + initial: open + states: + open: + event: subscribed + unsubscribed: + event: unsubscribed + transitions: + open: + - unsubscribed +- attended_by: | + approved -> previewed: the n8n workflow that builds the draft site from an approved intake (docker, rauthy, portal content) and sends the preview link. Until it exists, owners run portal-trainer by hand and press the button. + bucket: trials + initial: open + states: + approved: + event: approved + declined: + event: declined + open: + event: received + previewed: + event: previewed + transitions: + approved: + - previewed + - declined + open: + - approved + - declined diff --git a/runs/uhhm-2026-09-23/site/llm/01-questions_build_index.yaml.md b/runs/uhhm-2026-09-23/site/llm/01-questions_build_index.yaml.md new file mode 100644 index 0000000..8517c6a --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/01-questions_build_index.yaml.md @@ -0,0 +1,174 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/build/index.yaml +It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "needs": { + "commission": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "name": "", + "org_contact": "", + "organization": "", + "project": "" + }, + "icon": "", + "labels": { + "email": "", + "name": "", + "org_contact": "", + "organization": "", + "project": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "trial": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "business": "", + "email": "", + "what_slows_us_down": "", + "what_we_do": "", + "what_we_keep_track_of": "", + "who_comes_to_us": "", + "who_is_involved": "" + }, + "icon": "", + "labels": { + "business": "", + "email": "", + "what_slows_us_down": "", + "what_we_do": "", + "what_we_keep_track_of": "", + "who_comes_to_us": "", + "who_is_involved": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved. Write it up and send it to people who will read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "A considered reply to your brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "See your own requests, approvals and handovers as a working site, before you commit to anything.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "A first draft of your own site", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you already know the problem, or do you want to see your own business as a site first?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/02-questions_custodians_index.yaml.md b/runs/uhhm-2026-09-23/site/llm/02-questions_custodians_index.yaml.md new file mode 100644 index 0000000..c9aeeb9 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/02-questions_custodians_index.yaml.md @@ -0,0 +1,108 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/custodians/index.yaml +It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "buckets": { + "custody_requests": { + "description": "", + "heading": "", + "moves": { + "in_dialogue->declined": "declined>", + "in_dialogue->resolved": "resolved>", + "open->declined": "declined>", + "open->in_dialogue": "in_dialogue>" + } + } + }, + "confirm": "", + "description": "", + "invited": { + "description": "", + "done": "", + "heading": "" + }, + "invites": { + "custodians": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + } + }, + "links": {}, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Send invite", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What does the network owe the people it affects, right now?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/03-questions_decide_subscribe.yaml.md b/runs/uhhm-2026-09-23/site/llm/03-questions_decide_subscribe.yaml.md new file mode 100644 index 0000000..729c7c0 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/03-questions_decide_subscribe.yaml.md @@ -0,0 +1,60 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/decide/subscribe.yaml +It is a page the person who sent a form reaches later, through a private link, to make a decision that is theirs: under `moves`, each entry is one thing they can decide. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "moves": { + "unsubscribed": { + "button": "", + "description": "", + "heading": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/04-questions_index.yaml.md b/runs/uhhm-2026-09-23/site/llm/04-questions_index.yaml.md new file mode 100644 index 0000000..e11b912 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/04-questions_index.yaml.md @@ -0,0 +1,136 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/index.yaml +It is the front door: the first page any visitor sees. `question` is the page's one question. Under `doors`, each entry is one alternative that leads to a page of its own for one kind of visitor: its heading must let that visitor recognise themselves from the heading alone. Under `needs`, each entry is one alternative with a form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "doors": { + "build": { + "button": "", + "description": "", + "for_whom": "", + "heading": "", + "icon": "" + }, + "join": { + "button": "", + "description": "", + "for_whom": "", + "heading": "", + "icon": "" + } + }, + "needs": { + "custody": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "about": "", + "email": "", + "name": "", + "what": "" + }, + "icon": "", + "labels": { + "about": "", + "email": "", + "name": "", + "what": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us the problem, or try your own workflow as a working site before you pay for anything.", + "for_whom": "For an organisation with a problem, or a business sizing us up", + "heading": "Get software built around your problem", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "Build with us, hear from us now and then, or tell us what should change on this page.", + "for_whom": "For anyone who wants in, on their own terms", + "heading": "Work with us, or just stay in touch", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Tell us what the network is doing, or not doing, and how we can reach you.", + "form_title": "Reach a custodian", + "heading": "Get an answer from the people who keep the network", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "We open it and start a dialogue with you. Once we understand what the network is keeping that it shouldn't, we work it through to resolved, or tell you plainly if we can't.", + "road_icon": "route", + "road_title": "What happens next", + "who_title": "Who reads this", + "who_icon": "user-check", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime." + } + }, + "question": "What brings you here?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/05-questions_join_index.yaml.md b/runs/uhhm-2026-09-23/site/llm/05-questions_join_index.yaml.md new file mode 100644 index 0000000..493c581 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/05-questions_join_index.yaml.md @@ -0,0 +1,208 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/join/index.yaml +It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "description": "", + "needs": { + "collaborate": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "interest": "", + "name": "", + "note": "" + }, + "icon": "", + "labels": { + "email": "", + "interest": "", + "name": "", + "note": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "propose": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "page": "", + "proposed_yaml": "", + "rationale": "", + "submitted_by": "" + }, + "icon": "", + "labels": { + "email": "", + "page": "", + "proposed_yaml": "", + "rationale": "", + "submitted_by": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + }, + "subscribe": { + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "email": "", + "name": "" + }, + "icon": "", + "labels": { + "email": "", + "name": "" + }, + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "You want to build software with people who read the whole brief, not just the summary.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with people who read the whole thing", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You've spotted something on this site that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Get a page fixed the way you'd write it", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us only when there's something to say", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/06-questions_owners_index.yaml.md b/runs/uhhm-2026-09-23/site/llm/06-questions_owners_index.yaml.md new file mode 100644 index 0000000..56e3fe7 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/06-questions_owners_index.yaml.md @@ -0,0 +1,236 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/index.yaml +It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "buckets": { + "applicants": { + "description": "", + "heading": "", + "moves": { + "active->declined": "declined>", + "active->departed": "departed>", + "invited->active": "active>", + "invited->declined": "declined>", + "open->declined": "declined>", + "open->invited": "invited>" + } + }, + "custody_requests": { + "description": "", + "heading": "", + "moves": {} + }, + "development_proposals": { + "description": "", + "heading": "", + "moves": { + "open->approved": "approved>", + "open->rejected": "rejected>" + } + }, + "organizations": { + "description": "", + "heading": "", + "moves": { + "client->past_client": "past_client>", + "prospect->client": "client>", + "prospect->past_client": "past_client>" + } + }, + "projects": { + "description": "", + "heading": "", + "moves": { + "open->accepted": "accepted>", + "open->declined": "declined>" + } + }, + "subscribers": { + "description": "", + "heading": "", + "moves": { + "open->unsubscribed": "unsubscribed>" + } + }, + "trials": { + "description": "", + "heading": "", + "moves": { + "approved->declined": "declined>", + "approved->previewed": "previewed>", + "open->approved": "approved>", + "open->declined": "declined>" + } + } + }, + "confirm": "", + "description": "", + "invited": { + "description": "", + "done": "", + "heading": "" + }, + "invites": { + "custodians": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + }, + "owners": { + "button": "", + "description": "", + "form_title": "", + "heading": "", + "labels": { + "email": "", + "name": "" + } + } + }, + "links": { + "prospect": { + "button": "", + "description": "", + "heading": "" + } + }, + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +{ + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" +} diff --git a/runs/uhhm-2026-09-23/site/llm/07-questions_owners_prospect-sent.yaml.md b/runs/uhhm-2026-09-23/site/llm/07-questions_owners_prospect-sent.yaml.md new file mode 100644 index 0000000..2bc4507 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/07-questions_owners_prospect-sent.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/prospect-sent.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/08-questions_owners_prospect.yaml.md b/runs/uhhm-2026-09-23/site/llm/08-questions_owners_prospect.yaml.md new file mode 100644 index 0000000..290d1f2 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/08-questions_owners_prospect.yaml.md @@ -0,0 +1,92 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/owners/prospect.yaml +It is a page only one role inside the business can open, holding one form. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "button": "", + "description": "", + "encouragement": "", + "form_description": "", + "form_title": "", + "heading": "", + "hints": { + "contact": "", + "name": "", + "note": "" + }, + "icon": "", + "labels": { + "contact": "", + "name": "", + "note": "" + }, + "page_description": "", + "question": "", + "road_description": "", + "road_icon": "", + "road_title": "", + "who_description": "", + "who_icon": "", + "who_title": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/09-questions_received_collaborate.yaml.md b/runs/uhhm-2026-09-23/site/llm/09-questions_received_collaborate.yaml.md new file mode 100644 index 0000000..6f83c69 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/09-questions_received_collaborate.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/collaborate.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/10-questions_received_commission.yaml.md b/runs/uhhm-2026-09-23/site/llm/10-questions_received_commission.yaml.md new file mode 100644 index 0000000..225f61e --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/10-questions_received_commission.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/commission.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/11-questions_received_custody.yaml.md b/runs/uhhm-2026-09-23/site/llm/11-questions_received_custody.yaml.md new file mode 100644 index 0000000..ee326dc --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/11-questions_received_custody.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/custody.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/12-questions_received_propose.yaml.md b/runs/uhhm-2026-09-23/site/llm/12-questions_received_propose.yaml.md new file mode 100644 index 0000000..1ddaf45 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/12-questions_received_propose.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/propose.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/13-questions_received_subscribe.yaml.md b/runs/uhhm-2026-09-23/site/llm/13-questions_received_subscribe.yaml.md new file mode 100644 index 0000000..2760f6f --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/13-questions_received_subscribe.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/subscribe.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/llm/14-questions_received_trial.yaml.md b/runs/uhhm-2026-09-23/site/llm/14-questions_received_trial.yaml.md new file mode 100644 index 0000000..062e729 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/llm/14-questions_received_trial.yaml.md @@ -0,0 +1,52 @@ +You write the words for one page of a website for this business. + +Business: UHHM +About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps. +Contact: Bendik Aagaard Lynghaug +Language to write in: en + +Everyone the site serves: +- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial +- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose +- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined. +- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined. +- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined. +- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed. +- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected. +- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined. +- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client. + +The page: questions/received/trial.yaml +It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next. + +Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer. + +Rules for the words: +- `question` is a question the reader could ask themselves. +- A heading says what the reader gets, in the reader's own words, and must work without its description. +- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use. +- Descriptions are one or two short sentences. Labels and buttons are a few words. +- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words. +- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale +- Write the way people in this trade and country actually speak. + +{ + "back": "", + "description": "", + "next_description": "", + "next_heading": "", + "question": "" +} + +Reply with the JSON object only. + +=== REPLY === +```json +{ + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" +} +``` diff --git a/runs/uhhm-2026-09-23/site/needs.yaml b/runs/uhhm-2026-09-23/site/needs.yaml new file mode 100644 index 0000000..39df5ec --- /dev/null +++ b/runs/uhhm-2026-09-23/site/needs.yaml @@ -0,0 +1,173 @@ +needs: +- done_when: + - accepted + - declined + enters: / + handled_by: owners + id: commission + lands_in: projects + max_fields: 4 + max_steps: 2 + stages: + - open + - accepted + - declined + success: + - accepted + via: You run an organization that needs software built + wants: a considered reply to a brief, from people who read the whole thing + who: an organization with a problem it wants software to solve +- done_when: + - previewed + - declined + enters: / + handled_by: owners + id: trial + lands_in: trials + max_fields: 6 + max_steps: 2 + stages: + - open + - approved + - previewed + - declined + success: + - previewed + via: You run an organization that needs software built + wants: a first draft of a site for their own roles, built from their own words and approved by a person first + who: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything +- done_when: + - departed + - declined + enters: / + handled_by: owners + id: collaborate + lands_in: applicants + max_fields: 3 + max_steps: 2 + stages: + - open + - invited + - active + - departed + - declined + success: + - departed + via: You want to join us, follow us, or fix a page on this site + wants: to be read as a person, and invited in if there is a fit + who: someone who wants to work with us on what we build +- done_when: + - unsubscribed + enters: / + handled_by: owners + id: subscribe + lands_in: subscribers + max_fields: 2 + max_steps: 2 + stages: + - open + - unsubscribed + success: [] + via: You want to join us, follow us, or fix a page on this site + wants: a note now and then, and an easy way out + who: someone who wants to hear from us when there is something to say +- done_when: + - approved + - rejected + enters: / + handled_by: owners + id: propose + lands_in: development_proposals + max_fields: 3 + max_steps: 2 + stages: + - open + - approved + - rejected + success: + - approved + via: You want to join us, follow us, or fix a page on this site + wants: the change read by a person and, if approved, made + who: a visitor who sees how a page on this site should change +- done_when: + - resolved + - declined + enters: / + handled_by: custodians + id: custody + lands_in: custody_requests + max_fields: 4 + max_steps: 1 + stages: + - open + - in_dialogue + - resolved + - declined + success: + - resolved + via: 'You are on the redoal network: a node, an app, or a recording that concerns you' + wants: an answer from a custodian, and action where the network keeps something it should not + who: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node +- done_when: + - past_client + enters: /owners/prospect + enters_as: owners + handled_by: owners + id: prospect + lands_in: organizations + max_fields: 2 + max_steps: 1 + stages: + - prospect + - client + - past_client + success: [] + via: Keep an organization on your radar + wants: it written down and walked through its states from the desk + who: an owner who has met an organization worth following up +personas: +- id: architecture-firm + need: commission + text: We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves. +- id: climbing-gym-founder + need: commission + text: I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me. +- id: municipality-buyer + need: commission + text: Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it. +- id: exhibition-visitor + need: subscribe + text: I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news. +- id: tech-journalist + need: subscribe + text: I write about Nordic technology. Keep me posted on what you release so I can cover it. +- id: rust-developer + need: collaborate + text: I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you. +- id: interaction-designer + need: collaborate + text: I'm an interaction designer. I want to work with you on the drawing interface. +- id: student-intern + need: collaborate + text: I'm a computer science student looking for a summer internship doing infrastructure work. +- id: plumber-owner + need: trial + text: I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money. +- id: dance-school + need: trial + text: We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us? +- id: node-runner + need: custody + text: I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to? +- id: recorded-name + need: custody + text: Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network. +- id: app-builder + need: custody + text: I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides? +- id: wording-fix + need: propose + text: The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page. +- id: rewrite + need: propose + text: One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text? diff --git a/runs/uhhm-2026-09-23/site/questions/build/index.yaml b/runs/uhhm-2026-09-23/site/questions/build/index.yaml new file mode 100644 index 0000000..2439592 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/build/index.yaml @@ -0,0 +1,94 @@ +alternatives: +- action: /received/commission + consequence: + - Send the brief + description: You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing. + encouragements: + - Someone here reads every brief in full before writing back. + features: + - description: We read your brief and either take it on or tell you honestly if it's not a fit. + icon: lucide:route + name: What happens next + - description: One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly. + icon: lucide:user-check + name: Who reads this + - description: The more of the problem you put in, the better the reply. + icon: lucide:briefcase + name: Tell us the problem + requirements: + - label: Your name + name: name + placeholder: Sara Nilsen + type: text + - label: Your email + name: email + placeholder: sara@company.com + type: email + - label: The problem you want solved + name: project + placeholder: Our drivers log hours on paper and it takes a day to get them into payroll. + type: textarea + - label: Your organization + name: organization + placeholder: Nilsen Transport AS + type: text + - label: Who we should talk to + name: org_contact + optional: true + placeholder: Sara Nilsen, ops manager + type: text + name: 'Have us build it: send the brief' + record_as: projects +- action: /received/trial + consequence: + - Start the draft + description: Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through. + encouragements: + - A person looks at what you send before anything gets built. + features: + - description: We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further. + icon: lucide:route + name: What happens next + - description: An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly. + icon: lucide:user-check + name: Who reads this + - description: Answer in your own words - there's no wrong way to describe your business. + icon: lucide:layers + name: Describe your business + requirements: + - label: Your business + name: business + placeholder: Nilsen Transport AS + type: text + - label: Your email + name: email + placeholder: sara@company.com + type: email + - label: What you do + name: what_we_do + placeholder: We move freight for local businesses and handle the paperwork for them. + type: textarea + - label: Who comes to you + name: who_comes_to_us + placeholder: Local businesses that need something moved on short notice. + type: textarea + - label: What you keep track of + name: what_we_keep_track_of + placeholder: Bookings, driver hours, and which loads are still waiting on a signature. + type: textarea + - label: Who's involved + name: who_is_involved + placeholder: Drivers, dispatchers, and the customers waiting on their delivery. + type: textarea + - label: What slows you down + name: what_slows_us_down + optional: true + placeholder: Approvals sit in someone's inbox for days before anyone acts on them. + type: textarea + name: See your own business as a site, before you buy anything + record_as: trials +description: Have a problem software should solve, or want to see your own way of working as a site before you pay anyone? +name: Do you have a brief, or do you want to see your business as a site first? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/site/questions/custodians/_section.yaml b/runs/uhhm-2026-09-23/site/questions/custodians/_section.yaml new file mode 100644 index 0000000..de40ef5 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/custodians/_section.yaml @@ -0,0 +1 @@ +qualifies: custodians diff --git a/runs/uhhm-2026-09-23/site/questions/custodians/index.yaml b/runs/uhhm-2026-09-23/site/questions/custodians/index.yaml new file mode 100644 index 0000000..6a0b293 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/custodians/index.yaml @@ -0,0 +1,65 @@ +alternatives: +- action: /custodians + consequence: + - Confirm + description: Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it. + features: + - description: '' + name: '' + resource: + requires_group: custodians + source: + bucket: custody_requests + kind: kv + transitions: + - from: in_dialogue + label: Mark resolved + to: resolved + - from: in_dialogue + label: Close, no action + to: declined + - from: open + label: Open dialogue + to: in_dialogue + - from: open + label: Decline case + to: declined + name: Custody cases waiting on you +- action: /custodians + consequence: + - Invite custodian + description: Give someone an account and a one-time link to join as a custodian. + features: + - description: '' + name: Invite a custodian + requirements: + - label: Name + name: name + - label: Email + name: email + type: email + invite: + group: custodians + name: Bring in another custodian +- action: /custodians + consequence: + - Confirm + description: Custodians invited but not yet signed in. + features: + - description: '' + name: '' + resource: + requires_group: custodians + source: + bucket: portal_invites + kind: kv + transitions: + - from: open + label: Signed in + to: done + name: Invited custodians +description: 'The desk for custodians: open custody cases, and the people invited to answer them.' +name: What is waiting on the custodians? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/site/questions/decide/subscribe.yaml b/runs/uhhm-2026-09-23/site/questions/decide/subscribe.yaml new file mode 100644 index 0000000..45114ca --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/decide/subscribe.yaml @@ -0,0 +1,9 @@ +alternatives: +- description: You'll stop hearing from us. Nothing else changes. + name: Stop getting notes from us + self_transition: + bucket: subscribers + label: Unsubscribe + to: unsubscribed +description: You're on our list. Change your mind whenever you like. +name: Do you want to keep hearing from us? diff --git a/runs/uhhm-2026-09-23/site/questions/index.yaml b/runs/uhhm-2026-09-23/site/questions/index.yaml new file mode 100644 index 0000000..43b5b34 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/index.yaml @@ -0,0 +1,63 @@ +alternatives: +- action: /build + consequence: + - Start here + description: Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything. + features: + - description: '' + icon: lucide:hammer + name: For a business or an organization with a job for us + name: You run an organization that needs software built +- action: /join + consequence: + - Start here + description: A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no. + features: + - description: '' + icon: lucide:handshake + name: For a person, on their own behalf + name: You want to join us, follow us, or fix a page on this site +- action: /received/custody + consequence: + - Send to a custodian + description: UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at. + encouragements: + - A custodian reads every message that comes in here. + features: + - description: A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided. + icon: lucide:route + name: What happens next + - description: A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime. + icon: lucide:user-check + name: Who reads this + - description: Say which of the four it is, and what you need, in a few lines. + icon: lucide:shield + name: Reach a custodian + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@yourcompany.com + type: email + - label: What's going on + name: about + options: + - Running a node of my own + - Building on the network + - Something the network keeps about me + - Something else + type: select + - label: In short + name: what + placeholder: A relay node is misbehaving + type: textarea + name: 'You are on the redoal network: a node, an app, or a recording that concerns you' + record_as: custody_requests +description: UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath. +name: Who are you, and what do you need from UHHM? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/site/questions/join/index.yaml b/runs/uhhm-2026-09-23/site/questions/join/index.yaml new file mode 100644 index 0000000..450e4c6 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/join/index.yaml @@ -0,0 +1,110 @@ +alternatives: +- action: /received/collaborate + consequence: + - Get in touch + description: 'A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit.' + encouragements: + - A person reads this, not a form filter — worth the ten minutes. + features: + - description: We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too. + icon: lucide:route + name: What happens next + - description: One of the owners reads this directly — for anything urgent, write to bl@uhhm.no. + icon: lucide:user-check + name: Who reads this + - description: Tell us who you are and what kind of work you're after. + icon: lucide:handshake + name: Say hello + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@example.com + type: email + - label: What kind of work + name: interest + placeholder: Backend work, or something design-heavy + type: textarea + - label: Tell us more + name: note + optional: true + placeholder: A bit about what you'd want to work on, or a link to your work + type: textarea + name: Work with us + record_as: applicants +- action: /received/subscribe + consequence: + - Sign up + description: You'd rather hear from us now and then than check back on your own. + encouragements: + - One click unsubscribes you later, no questions asked. + features: + - description: You're on the list. We write when there's something worth saying, and you can leave the list whenever you like. + icon: lucide:bell + name: What happens next + - description: An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first. + icon: lucide:user-check + name: Who reads this + - description: Just your email, or your name too if you'd like. + icon: lucide:mail + name: Stay in the loop + requirements: + - label: Name + name: name + placeholder: Your name + type: text + - label: Email + name: email + placeholder: you@example.com + type: email + name: Hear from us now and then + record_as: subscribers +- action: /received/propose + consequence: + - Send change + description: You have spotted a page on uhhm.no that should read differently, and you know roughly how. + encouragements: + - Even a rough version helps — we can tidy the wording ourselves. + features: + - description: Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back. + icon: lucide:route + name: What happens next + - description: An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive. + icon: lucide:user-check + name: Who reads this + - description: Point us to the page and show us the change. + icon: lucide:pencil + name: Propose a change + requirements: + - label: Your name + name: submitted_by + placeholder: Your name + type: text + - label: Email + name: email + optional: true + placeholder: you@example.com + type: email + - label: Which page + name: page + optional: true + placeholder: questions/join/index.yaml + type: text + - label: Why this is better + name: rationale + placeholder: The current heading doesn't say what you actually get + type: textarea + - label: Your proposed text + name: proposed_yaml + placeholder: 'heading: "A clearer way to say this"' + type: textarea + name: Suggest a change to this website + record_as: development_proposals +description: 'Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.' +name: How do you want to be part of this? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/site/questions/owners/_section.yaml b/runs/uhhm-2026-09-23/site/questions/owners/_section.yaml new file mode 100644 index 0000000..670fca7 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/owners/_section.yaml @@ -0,0 +1 @@ +qualifies: owners diff --git a/runs/uhhm-2026-09-23/site/questions/owners/index.yaml b/runs/uhhm-2026-09-23/site/questions/owners/index.yaml new file mode 100644 index 0000000..a59e0b0 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/owners/index.yaml @@ -0,0 +1,212 @@ +alternatives: +- action: /owners + consequence: + - Confirm + description: People who've asked to build with us, waiting on a decision or already working alongside us. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: applicants + kind: kv + transitions: + - from: active + label: Mark departed + to: departed + - from: active + label: End collaboration + to: declined + - from: invited + label: Confirm active + to: active + - from: invited + label: Withdraw invite + to: declined + - from: open + label: Send invite + to: invited + - from: open + label: Decline applicant + to: declined + name: People who want to build with us +- action: /owners + consequence: + - Confirm + description: Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: custody_requests + kind: kv + transitions: [] + name: What's been raised with custodians +- action: /owners + consequence: + - Confirm + description: Changes visitors have proposed for pages on this site, waiting on a yes or no. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: development_proposals + kind: kv + transitions: + - from: open + label: Approve change + to: approved + - from: open + label: Reject change + to: rejected + name: Proposed changes to the site +- action: /owners + consequence: + - Confirm + description: Organizations you've met, tracked from first contact through to client and beyond. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: organizations + kind: kv + transitions: + - from: client + label: Mark past client + to: past_client + - from: prospect + label: Mark as client + to: client + - from: prospect + label: Mark not pursued + to: past_client + name: Organizations you're tracking +- action: /owners + consequence: + - Confirm + description: Briefs sent in by organizations with a problem they want solved. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: projects + kind: kv + transitions: + - from: open + label: Accept brief + to: accepted + - from: open + label: Decline brief + to: declined + name: Briefs waiting on a reply +- action: /owners + consequence: + - Confirm + description: People who want to hear from you now and then. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: subscribers + kind: kv + transitions: + - from: open + label: Unsubscribe them + to: unsubscribed + name: Who's hearing from you +- action: /owners + consequence: + - Confirm + description: Businesses who want to see their own workflow as a working site before committing to anything. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: trials + kind: kv + transitions: + - from: approved + label: Mark previewed + to: previewed + - from: approved + label: Decline trial + to: declined + - from: open + label: Approve trial + to: approved + - from: open + label: Decline trial + to: declined + name: Trial sites in progress +- action: /owners/prospect + consequence: + - Add prospect + description: Write down an organization worth following up, and track it from first contact onward. + name: Track a new organization +- action: /owners + consequence: + - Send invite + description: Bring someone in to help keep the first node and answer for the network. + features: + - description: '' + name: Invite a custodian + requirements: + - label: Their name + name: name + - label: Their email + name: email + type: email + invite: + group: custodians + name: Bring in a custodian +- action: /owners + consequence: + - Send invite + description: Bring someone in to work this desk alongside you. + features: + - description: '' + name: Invite an owner + requirements: + - label: Their name + name: name + - label: Their email + name: email + type: email + invite: + group: owners + name: Bring in another owner +- action: /owners + consequence: + - Confirm + description: People you've invited in, and whether they've taken it up yet. + features: + - description: '' + name: '' + resource: + requires_group: owners + source: + bucket: portal_invites + kind: kv + transitions: + - from: open + label: Taken up + to: done + name: Invites you've sent +description: 'Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.' +name: What's waiting on me today? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/site/questions/owners/prospect-sent.yaml b/runs/uhhm-2026-09-23/site/questions/owners/prospect-sent.yaml new file mode 100644 index 0000000..d49a1d4 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/owners/prospect-sent.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: An owner walks it from prospect to client, and on to past client, as the relationship moves. + name: It's on the desk now +- action: /owners + consequence: + - Back to site + description: '' + name: Back to site +description: Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking. +name: What happens to this now? diff --git a/runs/uhhm-2026-09-23/site/questions/owners/prospect.yaml b/runs/uhhm-2026-09-23/site/questions/owners/prospect.yaml new file mode 100644 index 0000000..581bd11 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/owners/prospect.yaml @@ -0,0 +1,39 @@ +alternatives: +- action: /owners/prospect-sent + consequence: + - Add to prospects + description: One line per organization worth watching, moved through the stages as things develop. + encouragements: + - Takes a minute, and it's yours to update later. + features: + - description: It sits as a prospect until something moves - then you mark it client, and later past client if the work ends. + icon: lucide:route + name: Moves as you update it + - description: Only you see this, so keep it wherever you check next. + icon: lucide:user + name: Just for you + - description: Name the organization and where things stand. + icon: lucide:briefcase + name: New prospect + requirements: + - label: Organization + name: name + placeholder: Nordvik Bakery + type: text + - label: Contact + name: contact + placeholder: met at the bakers' conference, [email protected] + type: text + - label: Note + name: note + optional: true + placeholder: wants a booking flow, follow up after harvest season + type: textarea + name: Keep an organization on your radar + record_as: organizations +description: Write down an organization worth following up, and move it through client and past client as things develop. +followup: false +name: Is there an organization I should be keeping track of? +responsible: + contact: bl@uhhm.no + name: Bendik Aagaard Lynghaug diff --git a/runs/uhhm-2026-09-23/site/questions/received/collaborate.yaml b/runs/uhhm-2026-09-23/site/questions/received/collaborate.yaml new file mode 100644 index 0000000..c612fe8 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/received/collaborate.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: If it looks like a fit, we'll reach out to talk about where you could help. + name: We'll write if there's a fit +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring. +name: What happens to what I just sent? diff --git a/runs/uhhm-2026-09-23/site/questions/received/commission.yaml b/runs/uhhm-2026-09-23/site/questions/received/commission.yaml new file mode 100644 index 0000000..59e77bc --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/received/commission.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: Expect a reply within a few working days, either way, straight to your inbox. + name: A real reply from someone who read it +- action: / + consequence: + - Back to home + description: '' + name: Back to home +description: Your brief is in. An owner reads every commission end to end before replying. +name: What happens now that we've sent our brief? diff --git a/runs/uhhm-2026-09-23/site/questions/received/custody.yaml b/runs/uhhm-2026-09-23/site/questions/received/custody.yaml new file mode 100644 index 0000000..150966f --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/received/custody.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: Expect a reply once your report has been looked at and the network checked. + name: A custodian is on it +- action: / + consequence: + - Back to the site + description: '' + name: Back to the site +description: A custodian reads every message about the redoal network and what it keeps. +name: Who looks after what the network keeps? diff --git a/runs/uhhm-2026-09-23/site/questions/received/propose.yaml b/runs/uhhm-2026-09-23/site/questions/received/propose.yaml new file mode 100644 index 0000000..1ae02a9 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/received/propose.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: We'll write back once it's been read — approved and made live, or turned down with a reason. + name: A read, then a decision +- action: / + consequence: + - Back home + description: '' + name: Back home +description: Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page. +name: What happens to my proposal now? diff --git a/runs/uhhm-2026-09-23/site/questions/received/subscribe.yaml b/runs/uhhm-2026-09-23/site/questions/received/subscribe.yaml new file mode 100644 index 0000000..c2910bb --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/received/subscribe.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: You're on the list. Every note has an unsubscribe link if it stops being useful. + name: You're on the list +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: You'll hear from us when there's something worth saying, not on a schedule. +name: What happens now that I've subscribed? diff --git a/runs/uhhm-2026-09-23/site/questions/received/trial.yaml b/runs/uhhm-2026-09-23/site/questions/received/trial.yaml new file mode 100644 index 0000000..586bcd3 --- /dev/null +++ b/runs/uhhm-2026-09-23/site/questions/received/trial.yaml @@ -0,0 +1,10 @@ +alternatives: +- description: If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live. + name: A first draft, built from your own words +- action: / + consequence: + - Back to site + description: '' + name: Back to site +description: We read every trial request ourselves before anything gets built. +name: What happens now that you've sent this? diff --git a/runs/uhhm-2026-09-23/site/site.yaml b/runs/uhhm-2026-09-23/site/site.yaml new file mode 100644 index 0000000..aa5de2a --- /dev/null +++ b/runs/uhhm-2026-09-23/site/site.yaml @@ -0,0 +1,2 @@ +lang: en +title: UHHM diff --git a/runs/uhhm-2026-09-23/site/words.json b/runs/uhhm-2026-09-23/site/words.json new file mode 100644 index 0000000..f694c0a --- /dev/null +++ b/runs/uhhm-2026-09-23/site/words.json @@ -0,0 +1,426 @@ +{ + "questions/build/index.yaml": { + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "Have us build it: send the brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "See your own business as a site, before you buy anything", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you have a brief, or do you want to see your business as a site first?" + }, + "questions/custodians/index.yaml": { + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Confirm", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What is waiting on the custodians?" + }, + "questions/decide/subscribe.yaml": { + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" + }, + "questions/index.yaml": { + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.", + "for_whom": "For a business or an organization with a job for us", + "heading": "You run an organization that needs software built", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no.", + "for_whom": "For a person, on their own behalf", + "heading": "You want to join us, follow us, or fix a page on this site", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Say which of the four it is, and what you need, in a few lines.", + "form_title": "Reach a custodian", + "heading": "You are on the redoal network: a node, an app, or a recording that concerns you", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Who are you, and what do you need from UHHM?" + }, + "questions/join/index.yaml": { + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with us", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Suggest a change to this website", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us now and then", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" + }, + "questions/owners/index.yaml": { + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" + }, + "questions/owners/prospect-sent.yaml": { + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" + }, + "questions/owners/prospect.yaml": { + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" + }, + "questions/received/collaborate.yaml": { + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" + }, + "questions/received/commission.yaml": { + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" + }, + "questions/received/custody.yaml": { + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" + }, + "questions/received/propose.yaml": { + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" + }, + "questions/received/subscribe.yaml": { + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" + }, + "questions/received/trial.yaml": { + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" + } +} \ No newline at end of file diff --git a/runs/uhhm-2026-09-23/tasks-full.jsonl b/runs/uhhm-2026-09-23/tasks-full.jsonl new file mode 100644 index 0000000..9074f38 --- /dev/null +++ b/runs/uhhm-2026-09-23/tasks-full.jsonl @@ -0,0 +1,27 @@ +{"id":"architecture-firm@/","persona":"architecture-firm","need":"commission","page":"/","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You run an organization that needs software built"]} +{"id":"architecture-firm@/build","persona":"architecture-firm","need":"commission","page":"/build","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.","See your own business as a site, before you buy anything":"Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through."}}},"expect":["Have us build it: send the brief"]} +{"id":"climbing-gym-founder@/","persona":"climbing-gym-founder","need":"commission","page":"/","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You run an organization that needs software built"]} +{"id":"climbing-gym-founder@/build","persona":"climbing-gym-founder","need":"commission","page":"/build","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.","See your own business as a site, before you buy anything":"Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through."}}},"expect":["Have us build it: send the brief"]} +{"id":"municipality-buyer@/","persona":"municipality-buyer","need":"commission","page":"/","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You run an organization that needs software built"]} +{"id":"municipality-buyer@/build","persona":"municipality-buyer","need":"commission","page":"/build","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.","See your own business as a site, before you buy anything":"Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through."}}},"expect":["Have us build it: send the brief"]} +{"id":"exhibition-visitor@/","persona":"exhibition-visitor","need":"subscribe","page":"/","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"exhibition-visitor@/join","persona":"exhibition-visitor","need":"subscribe","page":"/join","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"You'd rather hear from us now and then than check back on your own.","Suggest a change to this website":"You have spotted a page on uhhm.no that should read differently, and you know roughly how.","Work with us":"A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit."}}},"expect":["Hear from us now and then"]} +{"id":"tech-journalist@/","persona":"tech-journalist","need":"subscribe","page":"/","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"tech-journalist@/join","persona":"tech-journalist","need":"subscribe","page":"/join","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"You'd rather hear from us now and then than check back on your own.","Suggest a change to this website":"You have spotted a page on uhhm.no that should read differently, and you know roughly how.","Work with us":"A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit."}}},"expect":["Hear from us now and then"]} +{"id":"rust-developer@/","persona":"rust-developer","need":"collaborate","page":"/","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"rust-developer@/join","persona":"rust-developer","need":"collaborate","page":"/join","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"You'd rather hear from us now and then than check back on your own.","Suggest a change to this website":"You have spotted a page on uhhm.no that should read differently, and you know roughly how.","Work with us":"A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit."}}},"expect":["Work with us"]} +{"id":"interaction-designer@/","persona":"interaction-designer","need":"collaborate","page":"/","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"interaction-designer@/join","persona":"interaction-designer","need":"collaborate","page":"/join","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"You'd rather hear from us now and then than check back on your own.","Suggest a change to this website":"You have spotted a page on uhhm.no that should read differently, and you know roughly how.","Work with us":"A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit."}}},"expect":["Work with us"]} +{"id":"student-intern@/","persona":"student-intern","need":"collaborate","page":"/","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"student-intern@/join","persona":"student-intern","need":"collaborate","page":"/join","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"You'd rather hear from us now and then than check back on your own.","Suggest a change to this website":"You have spotted a page on uhhm.no that should read differently, and you know roughly how.","Work with us":"A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit."}}},"expect":["Work with us"]} +{"id":"plumber-owner@/","persona":"plumber-owner","need":"trial","page":"/","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You run an organization that needs software built"]} +{"id":"plumber-owner@/build","persona":"plumber-owner","need":"trial","page":"/build","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.","See your own business as a site, before you buy anything":"Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through."}}},"expect":["See your own business as a site, before you buy anything"]} +{"id":"dance-school@/","persona":"dance-school","need":"trial","page":"/","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You run an organization that needs software built"]} +{"id":"dance-school@/build","persona":"dance-school","need":"trial","page":"/build","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.","See your own business as a site, before you buy anything":"Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through."}}},"expect":["See your own business as a site, before you buy anything"]} +{"id":"node-runner@/","persona":"node-runner","need":"custody","page":"/","state":{"body":"I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You are on the redoal network: a node, an app, or a recording that concerns you"]} +{"id":"recorded-name@/","persona":"recorded-name","need":"custody","page":"/","state":{"body":"Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You are on the redoal network: a node, an app, or a recording that concerns you"]} +{"id":"app-builder@/","persona":"app-builder","need":"custody","page":"/","state":{"body":"I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You are on the redoal network: a node, an app, or a recording that concerns you"]} +{"id":"wording-fix@/","persona":"wording-fix","need":"propose","page":"/","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"wording-fix@/join","persona":"wording-fix","need":"propose","page":"/join","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"You'd rather hear from us now and then than check back on your own.","Suggest a change to this website":"You have spotted a page on uhhm.no that should read differently, and you know roughly how.","Work with us":"A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit."}}},"expect":["Suggest a change to this website"]} +{"id":"rewrite@/","persona":"rewrite","need":"propose","page":"/","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.","You run an organization that needs software built":"Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.","You want to join us, follow us, or fix a page on this site":"A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no."}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"rewrite@/join","persona":"rewrite","need":"propose","page":"/join","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"You'd rather hear from us now and then than check back on your own.","Suggest a change to this website":"You have spotted a page on uhhm.no that should read differently, and you know roughly how.","Work with us":"A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit."}}},"expect":["Suggest a change to this website"]} diff --git a/runs/uhhm-2026-09-23/tasks-skim.jsonl b/runs/uhhm-2026-09-23/tasks-skim.jsonl new file mode 100644 index 0000000..3dff7ae --- /dev/null +++ b/runs/uhhm-2026-09-23/tasks-skim.jsonl @@ -0,0 +1,27 @@ +{"id":"architecture-firm@/","persona":"architecture-firm","need":"commission","page":"/","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You run an organization that needs software built"]} +{"id":"architecture-firm@/build","persona":"architecture-firm","need":"commission","page":"/build","state":{"body":"We run a small architecture firm and our project files are scattered across three cloud drives. We want to pay someone to set up proper storage and backups we control ourselves."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"Have us build it: send the brief","See your own business as a site, before you buy anything":"See your own business as a site, before you buy anything"}}},"expect":["Have us build it: send the brief"]} +{"id":"climbing-gym-founder@/","persona":"climbing-gym-founder","need":"commission","page":"/","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You run an organization that needs software built"]} +{"id":"climbing-gym-founder@/build","persona":"climbing-gym-founder","need":"commission","page":"/build","state":{"body":"I have an idea for a booking app for climbing gyms and I'm looking for a team that can build the first version with me."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"Have us build it: send the brief","See your own business as a site, before you buy anything":"See your own business as a site, before you buy anything"}}},"expect":["Have us build it: send the brief"]} +{"id":"municipality-buyer@/","persona":"municipality-buyer","need":"commission","page":"/","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You run an organization that needs software built"]} +{"id":"municipality-buyer@/build","persona":"municipality-buyer","need":"commission","page":"/build","state":{"body":"Our municipality needs an internal tool for tracking building permits. We are looking for a vendor who can scope it and deliver it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"Have us build it: send the brief","See your own business as a site, before you buy anything":"See your own business as a site, before you buy anything"}}},"expect":["Have us build it: send the brief"]} +{"id":"exhibition-visitor@/","persona":"exhibition-visitor","need":"subscribe","page":"/","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"exhibition-visitor@/join","persona":"exhibition-visitor","need":"subscribe","page":"/join","state":{"body":"I saw your drawing network at an exhibition and liked it. I don't want to get involved, I'd just like to know when there is news."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"Hear from us now and then","Suggest a change to this website":"Suggest a change to this website","Work with us":"Work with us"}}},"expect":["Hear from us now and then"]} +{"id":"tech-journalist@/","persona":"tech-journalist","need":"subscribe","page":"/","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"tech-journalist@/join","persona":"tech-journalist","need":"subscribe","page":"/join","state":{"body":"I write about Nordic technology. Keep me posted on what you release so I can cover it."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"Hear from us now and then","Suggest a change to this website":"Suggest a change to this website","Work with us":"Work with us"}}},"expect":["Hear from us now and then"]} +{"id":"rust-developer@/","persona":"rust-developer","need":"collaborate","page":"/","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"rust-developer@/join","persona":"rust-developer","need":"collaborate","page":"/join","state":{"body":"I'm a Rust developer between jobs and I like that you build in the open. I would love to contribute, and maybe join you."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"Hear from us now and then","Suggest a change to this website":"Suggest a change to this website","Work with us":"Work with us"}}},"expect":["Work with us"]} +{"id":"interaction-designer@/","persona":"interaction-designer","need":"collaborate","page":"/","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"interaction-designer@/join","persona":"interaction-designer","need":"collaborate","page":"/join","state":{"body":"I'm an interaction designer. I want to work with you on the drawing interface."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"Hear from us now and then","Suggest a change to this website":"Suggest a change to this website","Work with us":"Work with us"}}},"expect":["Work with us"]} +{"id":"student-intern@/","persona":"student-intern","need":"collaborate","page":"/","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"student-intern@/join","persona":"student-intern","need":"collaborate","page":"/join","state":{"body":"I'm a computer science student looking for a summer internship doing infrastructure work."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"Hear from us now and then","Suggest a change to this website":"Suggest a change to this website","Work with us":"Work with us"}}},"expect":["Work with us"]} +{"id":"plumber-owner@/","persona":"plumber-owner","need":"trial","page":"/","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You run an organization that needs software built"]} +{"id":"plumber-owner@/build","persona":"plumber-owner","need":"trial","page":"/build","state":{"body":"I run a plumbing company with four vans. Jobs come in by phone and text and some get lost. I'd like to see how this would look for us before I spend any money."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"Have us build it: send the brief","See your own business as a site, before you buy anything":"See your own business as a site, before you buy anything"}}},"expect":["See your own business as a site, before you buy anything"]} +{"id":"dance-school@/","persona":"dance-school","need":"trial","page":"/","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You run an organization that needs software built"]} +{"id":"dance-school@/build","persona":"dance-school","need":"trial","page":"/build","state":{"body":"We are a dance school. Enrolments, cancellations and invoices all go through one email inbox that only I understand. Can you show me a version made for us?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Do you have a brief, or do you want to see your business as a site first?\". Which alternative do they choose?","criteria":{"Have us build it: send the brief":"Have us build it: send the brief","See your own business as a site, before you buy anything":"See your own business as a site, before you buy anything"}}},"expect":["See your own business as a site, before you buy anything"]} +{"id":"node-runner@/","persona":"node-runner","need":"custody","page":"/","state":{"body":"I run a small server in Berlin and want to host a redoal node that peers with yours. Who do I talk to?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You are on the redoal network: a node, an app, or a recording that concerns you"]} +{"id":"recorded-name@/","persona":"recorded-name","need":"custody","page":"/","state":{"body":"Someone left a recording on redoal that says my full name and where I live. I want it gone, and I want to know who is responsible for that network."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You are on the redoal network: a node, an app, or a recording that concerns you"]} +{"id":"app-builder@/","persona":"app-builder","need":"custody","page":"/","state":{"body":"I'm building a music app and would like to use redoal's gesture addresses in it. Is that possible, and who decides?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You are on the redoal network: a node, an app, or a recording that concerns you"]} +{"id":"wording-fix@/","persona":"wording-fix","need":"propose","page":"/","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"wording-fix@/join","persona":"wording-fix","need":"propose","page":"/join","state":{"body":"The subscribe page should say how often you actually write. I'd like to suggest that exact change to the page."},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"Hear from us now and then","Suggest a change to this website":"Suggest a change to this website","Work with us":"Work with us"}}},"expect":["Suggest a change to this website"]} +{"id":"rewrite@/","persona":"rewrite","need":"propose","page":"/","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"Who are you, and what do you need from UHHM?\". Which alternative do they choose?","criteria":{"You are on the redoal network: a node, an app, or a recording that concerns you":"You are on the redoal network: a node, an app, or a recording that concerns you","You run an organization that needs software built":"You run an organization that needs software built","You want to join us, follow us, or fix a page on this site":"You want to join us, follow us, or fix a page on this site"}}},"expect":["You want to join us, follow us, or fix a page on this site"]} +{"id":"rewrite@/join","persona":"rewrite","need":"propose","page":"/join","state":{"body":"One page on this site reads wrong to me and I know exactly how I'd rewrite it. Where do I send the new text?"},"questions":{"pick":{"type":"choice","instructions":"A visitor reads the page question \"How do you want to be part of this?\". Which alternative do they choose?","criteria":{"Hear from us now and then":"Hear from us now and then","Suggest a change to this website":"Suggest a change to this website","Work with us":"Work with us"}}},"expect":["Suggest a change to this website"]} diff --git a/runs/uhhm-2026-09-23/words-r2.json b/runs/uhhm-2026-09-23/words-r2.json new file mode 100644 index 0000000..7fc8e57 --- /dev/null +++ b/runs/uhhm-2026-09-23/words-r2.json @@ -0,0 +1,426 @@ +{ + "questions/build/index.yaml": { + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "Have us build it: send the brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "See your own business as a site, before you buy anything", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you have a brief, or do you want to see your business as a site first?" + }, + "questions/custodians/index.yaml": { + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Confirm", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What is waiting on the custodians?" + }, + "questions/decide/subscribe.yaml": { + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" + }, + "questions/index.yaml": { + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us a brief, or describe how work flows through your business and see it as a working site before you pay for anything.", + "for_whom": "For an organisation with a problem, or a business sizing us up", + "heading": "Get software built, or try a site for your business first", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "Join us as a collaborator, get a note now and then, or suggest a change to a page on uhhm.no.", + "for_whom": "For anyone who wants in, on their own terms", + "heading": "Work with us, hear from us, or change this website", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Say which of the four it is, and what you need, in a few lines.", + "form_title": "Reach a custodian", + "heading": "About the redoal network: run a node, build on it, or have something removed", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "What brings you here?" + }, + "questions/join/index.yaml": { + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with us", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Suggest a change to this website", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us now and then", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" + }, + "questions/owners/index.yaml": { + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" + }, + "questions/owners/prospect-sent.yaml": { + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" + }, + "questions/owners/prospect.yaml": { + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" + }, + "questions/received/collaborate.yaml": { + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" + }, + "questions/received/commission.yaml": { + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" + }, + "questions/received/custody.yaml": { + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" + }, + "questions/received/propose.yaml": { + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" + }, + "questions/received/subscribe.yaml": { + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" + }, + "questions/received/trial.yaml": { + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" + } +} diff --git a/runs/uhhm-2026-09-23/words-r3.json b/runs/uhhm-2026-09-23/words-r3.json new file mode 100644 index 0000000..40fa3f0 --- /dev/null +++ b/runs/uhhm-2026-09-23/words-r3.json @@ -0,0 +1,426 @@ +{ + "questions/build/index.yaml": { + "description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?", + "needs": { + "commission": { + "button": "Send the brief", + "description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.", + "encouragement": "Someone here reads every brief in full before writing back.", + "form_description": "The more of the problem you put in, the better the reply.", + "form_title": "Tell us the problem", + "heading": "Have us build it: send the brief", + "hints": { + "email": "sara@company.com", + "name": "Sara Nilsen", + "org_contact": "Sara Nilsen, ops manager", + "organization": "Nilsen Transport AS", + "project": "Our drivers log hours on paper and it takes a day to get them into payroll." + }, + "icon": "briefcase", + "labels": { + "email": "Your email", + "name": "Your name", + "org_contact": "Who we should talk to", + "organization": "Your organization", + "project": "The problem you want solved" + }, + "road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "trial": { + "button": "Start the draft", + "description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through.", + "encouragement": "A person looks at what you send before anything gets built.", + "form_description": "Answer in your own words - there's no wrong way to describe your business.", + "form_title": "Describe your business", + "heading": "See your own business as a site, before you buy anything", + "hints": { + "business": "Nilsen Transport AS", + "email": "sara@company.com", + "what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.", + "what_we_do": "We move freight for local businesses and handle the paperwork for them.", + "what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.", + "who_comes_to_us": "Local businesses that need something moved on short notice.", + "who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery." + }, + "icon": "layers", + "labels": { + "business": "Your business", + "email": "Your email", + "what_slows_us_down": "What slows you down", + "what_we_do": "What you do", + "what_we_keep_track_of": "What you keep track of", + "who_comes_to_us": "Who comes to you", + "who_is_involved": "Who's involved" + }, + "road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Do you have a brief, or do you want to see your business as a site first?" + }, + "questions/custodians/index.yaml": { + "buckets": { + "custody_requests": { + "description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.", + "heading": "Custody cases waiting on you", + "moves": { + "in_dialogue->declined": "Close, no action", + "in_dialogue->resolved": "Mark resolved", + "open->declined": "Decline case", + "open->in_dialogue": "Open dialogue" + } + } + }, + "confirm": "Confirm", + "description": "The desk for custodians: open custody cases, and the people invited to answer them.", + "invited": { + "description": "Custodians invited but not yet signed in.", + "done": "Signed in", + "heading": "Invited custodians" + }, + "invites": { + "custodians": { + "button": "Invite custodian", + "description": "Give someone an account and a one-time link to join as a custodian.", + "form_title": "Invite a custodian", + "heading": "Bring in another custodian", + "labels": { + "email": "Email", + "name": "Name" + } + } + }, + "links": {}, + "question": "What is waiting on the custodians?" + }, + "questions/decide/subscribe.yaml": { + "description": "You're on our list. Change your mind whenever you like.", + "moves": { + "unsubscribed": { + "button": "Unsubscribe", + "description": "You'll stop hearing from us. Nothing else changes.", + "heading": "Stop getting notes from us" + } + }, + "question": "Do you want to keep hearing from us?" + }, + "questions/index.yaml": { + "description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.", + "doors": { + "build": { + "button": "Start here", + "description": "Send us a brief, or first describe how work flows through your business and see it as a working site before you pay for anything.", + "for_whom": "For a business or an organization with a job for us", + "heading": "You run an organization that needs software built", + "icon": "hammer" + }, + "join": { + "button": "Start here", + "description": "A developer, designer or student who wants in; someone who wants a note now and then; or a reader who would reword a page on uhhm.no.", + "for_whom": "For a person, on their own behalf", + "heading": "You want to join us, follow us, or fix a page on this site", + "icon": "handshake" + } + }, + "needs": { + "custody": { + "button": "Send to a custodian", + "description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.", + "encouragement": "A custodian reads every message that comes in here.", + "form_description": "Say which of the four it is, and what you need, in a few lines.", + "form_title": "Reach a custodian", + "heading": "You are on the redoal network: a node, an app, or a recording that concerns you", + "hints": { + "about": "We run our order system on a relay node and it's been dropping messages since Tuesday", + "email": "you@yourcompany.com", + "name": "Your name", + "what": "A relay node is misbehaving" + }, + "icon": "shield", + "labels": { + "about": "What's going on", + "email": "Email", + "name": "Name", + "what": "In short" + }, + "road_description": "A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "Who are you, and what do you need from UHHM?" + }, + "questions/join/index.yaml": { + "description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.", + "needs": { + "collaborate": { + "button": "Get in touch", + "description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit.", + "encouragement": "A person reads this, not a form filter — worth the ten minutes.", + "form_description": "Tell us who you are and what kind of work you're after.", + "form_title": "Say hello", + "heading": "Work with us", + "hints": { + "email": "you@example.com", + "interest": "Backend work, or something design-heavy", + "name": "Your name", + "note": "A bit about what you'd want to work on, or a link to your work" + }, + "icon": "handshake", + "labels": { + "email": "Email", + "interest": "What kind of work", + "name": "Name", + "note": "Tell us more" + }, + "road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "propose": { + "button": "Send change", + "description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how.", + "encouragement": "Even a rough version helps — we can tidy the wording ourselves.", + "form_description": "Point us to the page and show us the change.", + "form_title": "Propose a change", + "heading": "Suggest a change to this website", + "hints": { + "email": "you@example.com", + "page": "questions/join/index.yaml", + "proposed_yaml": "heading: \"A clearer way to say this\"", + "rationale": "The current heading doesn't say what you actually get", + "submitted_by": "Your name" + }, + "icon": "pencil", + "labels": { + "email": "Email", + "page": "Which page", + "proposed_yaml": "Your proposed text", + "rationale": "Why this is better", + "submitted_by": "Your name" + }, + "road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.", + "road_icon": "route", + "road_title": "What happens next", + "who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.", + "who_icon": "user-check", + "who_title": "Who reads this" + }, + "subscribe": { + "button": "Sign up", + "description": "You'd rather hear from us now and then than check back on your own.", + "encouragement": "One click unsubscribes you later, no questions asked.", + "form_description": "Just your email, or your name too if you'd like.", + "form_title": "Stay in the loop", + "heading": "Hear from us now and then", + "hints": { + "email": "you@example.com", + "name": "Your name" + }, + "icon": "mail", + "labels": { + "email": "Email", + "name": "Name" + }, + "road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.", + "road_icon": "bell", + "road_title": "What happens next", + "who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.", + "who_icon": "user-check", + "who_title": "Who reads this" + } + }, + "question": "How do you want to be part of this?" + }, + "questions/owners/index.yaml": { + "buckets": { + "applicants": { + "description": "People who've asked to build with us, waiting on a decision or already working alongside us.", + "heading": "People who want to build with us", + "moves": { + "active->declined": "End collaboration", + "active->departed": "Mark departed", + "invited->active": "Confirm active", + "invited->declined": "Withdraw invite", + "open->declined": "Decline applicant", + "open->invited": "Send invite" + } + }, + "custody_requests": { + "description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.", + "heading": "What's been raised with custodians", + "moves": {} + }, + "development_proposals": { + "description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.", + "heading": "Proposed changes to the site", + "moves": { + "open->approved": "Approve change", + "open->rejected": "Reject change" + } + }, + "organizations": { + "description": "Organizations you've met, tracked from first contact through to client and beyond.", + "heading": "Organizations you're tracking", + "moves": { + "client->past_client": "Mark past client", + "prospect->client": "Mark as client", + "prospect->past_client": "Mark not pursued" + } + }, + "projects": { + "description": "Briefs sent in by organizations with a problem they want solved.", + "heading": "Briefs waiting on a reply", + "moves": { + "open->accepted": "Accept brief", + "open->declined": "Decline brief" + } + }, + "subscribers": { + "description": "People who want to hear from you now and then.", + "heading": "Who's hearing from you", + "moves": { + "open->unsubscribed": "Unsubscribe them" + } + }, + "trials": { + "description": "Businesses who want to see their own workflow as a working site before committing to anything.", + "heading": "Trial sites in progress", + "moves": { + "approved->declined": "Decline trial", + "approved->previewed": "Mark previewed", + "open->approved": "Approve trial", + "open->declined": "Decline trial" + } + } + }, + "confirm": "Confirm", + "description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.", + "invited": { + "description": "People you've invited in, and whether they've taken it up yet.", + "done": "Taken up", + "heading": "Invites you've sent" + }, + "invites": { + "custodians": { + "button": "Send invite", + "description": "Bring someone in to help keep the first node and answer for the network.", + "form_title": "Invite a custodian", + "heading": "Bring in a custodian", + "labels": { + "email": "Their email", + "name": "Their name" + } + }, + "owners": { + "button": "Send invite", + "description": "Bring someone in to work this desk alongside you.", + "form_title": "Invite an owner", + "heading": "Bring in another owner", + "labels": { + "email": "Their email", + "name": "Their name" + } + } + }, + "links": { + "prospect": { + "button": "Add prospect", + "description": "Write down an organization worth following up, and track it from first contact onward.", + "heading": "Track a new organization" + } + }, + "question": "What's waiting on me today?" + }, + "questions/owners/prospect-sent.yaml": { + "back": "Back to site", + "description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.", + "next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.", + "next_heading": "It's on the desk now", + "question": "What happens to this now?" + }, + "questions/owners/prospect.yaml": { + "button": "Add to prospects", + "description": "One line per organization worth watching, moved through the stages as things develop.", + "encouragement": "Takes a minute, and it's yours to update later.", + "form_description": "Name the organization and where things stand.", + "form_title": "New prospect", + "heading": "Keep an organization on your radar", + "hints": { + "contact": "met at the bakers' conference, [email protected]", + "name": "Nordvik Bakery", + "note": "wants a booking flow, follow up after harvest season" + }, + "icon": "briefcase", + "labels": { + "contact": "Contact", + "name": "Organization", + "note": "Note" + }, + "page_description": "Write down an organization worth following up, and move it through client and past client as things develop.", + "question": "Is there an organization I should be keeping track of?", + "road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.", + "road_icon": "route", + "road_title": "Moves as you update it", + "who_description": "Only you see this, so keep it wherever you check next.", + "who_icon": "user", + "who_title": "Just for you" + }, + "questions/received/collaborate.yaml": { + "back": "Back to site", + "description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.", + "next_description": "If it looks like a fit, we'll reach out to talk about where you could help.", + "next_heading": "We'll write if there's a fit", + "question": "What happens to what I just sent?" + }, + "questions/received/commission.yaml": { + "back": "Back to home", + "description": "Your brief is in. An owner reads every commission end to end before replying.", + "next_description": "Expect a reply within a few working days, either way, straight to your inbox.", + "next_heading": "A real reply from someone who read it", + "question": "What happens now that we've sent our brief?" + }, + "questions/received/custody.yaml": { + "back": "Back to the site", + "description": "A custodian reads every message about the redoal network and what it keeps.", + "next_description": "Expect a reply once your report has been looked at and the network checked.", + "next_heading": "A custodian is on it", + "question": "Who looks after what the network keeps?" + }, + "questions/received/propose.yaml": { + "back": "Back home", + "description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.", + "next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.", + "next_heading": "A read, then a decision", + "question": "What happens to my proposal now?" + }, + "questions/received/subscribe.yaml": { + "back": "Back to site", + "description": "You'll hear from us when there's something worth saying, not on a schedule.", + "next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.", + "next_heading": "You're on the list", + "question": "What happens now that I've subscribed?" + }, + "questions/received/trial.yaml": { + "back": "Back to site", + "description": "We read every trial request ourselves before anything gets built.", + "next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.", + "next_heading": "A first draft, built from your own words", + "question": "What happens now that you've sent this?" + } +}