Compare commits

...
2 Commits
Author SHA1 Message Date
Bendik Aagaard LynghaugandClaude Sonnet 5 309e3b43df Voice: bold statements, argued alternatives, no questions below the title
Lint and reload / lint (push) Successful in 2s
Lint and reload / reload (push) Successful in 0s
- The page title is the only question anywhere; alternative and
  feature names are now statements in our voice. Where we need input
  we say why (the reply is personal, software lands somewhere, a
  proposal is a stance), then hand over the field.
- The opening question's alternatives become the statements we'd like
  visitors to get behind: "Good software begins with a clear
  argument", "Attention is earned", "Capital needs reasons", "Work
  happens through dialogue, not tickets".
- followup: true on the five post-submission pages keeps them out of
  the question nav until the visitor actually carries a chain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 23:26:10 +02:00
Bendik Aagaard LynghaugandClaude Sonnet 5 c6d82199be Ask the investment question instead of assuming the investor
"I want to invest" on the front page presumed the visitor's intent.
/invest now asks it from their side - "How do we invest in uhhm?" -
and speaks to what a capital manager is actually accountable for:
reasons. The front page keeps only a light gateway; the question nav
surfaces /invest (like every other qualifying question) from anywhere,
so no concern depends on front-page space.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 23:11:25 +02:00
8 changed files with 97 additions and 46 deletions
+1
View File
@@ -1,5 +1,6 @@
id: /applied
route: ^/applied
followup: true
name: What happens now that you've applied?
description: >
We're not filling a seat — we're looking for exactly what you bring
+6 -4
View File
@@ -7,7 +7,7 @@ description: >
should change and why; an owner reviews every proposal, and approved
ones become real commits.
alternatives:
- name: What should change?
- name: The change you propose
description: >
The proposed content replaces (or creates) one file in the
questions repo, verbatim — so it has to be complete, valid YAML
@@ -18,8 +18,10 @@ alternatives:
encouragements:
- Every proposal gets read by a person before anything moves.
features:
- name: Who's proposing?
description: ""
- name: Sign it
description: >
A proposal is a stance — it carries a name, and an address
if you want the outcome to reach you.
requirements:
- name: submitted_by
label: Name (or what to call you)
@@ -34,7 +36,7 @@ alternatives:
label: File path
placeholder: questions/example.yaml
- name: rationale
label: Why this change?
label: The rationale
type: textarea
- name: proposed_yaml
label: Proposed file content (complete YAML)
+28 -41
View File
@@ -6,10 +6,10 @@ responsible:
name: bl
contact: bl@uhhm.no
alternatives:
- name: I want something built
- name: Good software begins with a clear argument
description: >
Infrastructure, tools, or a product — we read the whole brief
before answering.
Infrastructure, tools, or a product — bring the problem, and we
read the whole brief before answering.
action: /project
consequence: [Tell us what you're after]
record_as: projects
@@ -26,8 +26,11 @@ alternatives:
jq: >
.[] | {name: .name, description: .description, url: .html_url,
stars: .stargazers_count}
- name: What are you after?
description: A few lines are enough to begin a conversation.
- name: Your brief
description: >
A few lines are enough to begin a conversation — we need a
name and an address because the reply is personal, and the
organization because software always lands somewhere.
requirements:
- name: name
label: Name
@@ -35,17 +38,16 @@ alternatives:
label: Email
type: email
- name: project
label: What do you need built?
label: The build
type: textarea
placeholder: Just the shape of it — we'll ask the right questions.
- name: organization
label: Organization
placeholder: Who's this for?
- name: org_contact
label: Best way to reach them, if not you
label: Their contact, if not you
optional: true
- name: Keep me posted
- name: Attention is earned
description: >
Considered notes on what we're building, and why — sent only when
there's something worth saying.
@@ -64,55 +66,40 @@ alternatives:
label: Email
type: email
- name: I want to invest
- name: Capital needs reasons
description: >
We grow deliberately — distributed communication architecture,
built to last. If that's where you want your capital working,
let's talk.
action: /invested
consequence: [Open the conversation]
record_as: investors
encouragements:
- Serious inquiries get a serious answer.
features:
- name: Who are you?
description: ""
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: What brings you here?
description: ""
requirements:
- name: motivation
label: Why redoal, and what are you looking for?
type: textarea
Whoever manages it is accountable for them — enthusiasm doesn't
qualify. Ours are written down, as qualities you can test
against your own.
action: /invest
consequence: [Read our reasons]
- name: I want in
- name: Work happens through dialogue, not tickets
description: >
We onboard collaborators the same deliberate way we build —
by hand, through a real conversation.
What you bring shapes what gets built. We onboard collaborators
the same deliberate way we build — by hand, through a real
conversation.
action: /applied
consequence: [Apply]
record_as: applicants
encouragements:
- Knock — we actually answer.
features:
- name: Who are you?
description: ""
- name: A way to reach you
description: The reply is personal — it needs a name and an address.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: What draws you here?
description: ""
- name: Your angle
description: >
We build around what each person actually brings — say what
that is, in your own words.
requirements:
- name: interest
label: What do you want to work on?
label: The work you're drawn to
type: textarea
- name: note
label: Anything else worth knowing
+57
View File
@@ -0,0 +1,57 @@
id: /invest
route: ^/invest
name: How do we invest in uhhm?
description: >
If you manage capital, enthusiasm isn't a reason — you're accountable
for the qualities an investment actually has. Here are ours, written
down, and the shortest path to testing them against your own.
alternatives:
- name: What a good investment should be able to show
description: ""
features:
- name: State you can audit
icon: lucide:git-commit-horizontal
description: >
Every applicant, client, project, and investor here is
tracked state with a durable event history — not a
spreadsheet someone remembers to update. What we claim about
the organisation, the system can show.
- name: A focus that doesn't wander
icon: lucide:compass
description: >
Distributed communication architecture is the mandate. Work
that doesn't serve it doesn't get taken on — including work
that pays.
- name: Growth by dialogue, not headcount
icon: lucide:messages-square
description: >
People, clients, and changes to the system itself all arrive
through the same deliberate, reviewable loop. Slow on
purpose, cheap to run, hard to bloat.
- name: Test us
description: >
A few lines about what you're looking for opens the dialogue —
commitments only ever follow real conversation.
action: /invested
consequence: [Open the conversation]
record_as: investors
encouragements:
- Serious inquiries get a serious answer.
features:
- name: A way to reach you
description: Dialogue needs a counterpart — the reply is personal.
requirements:
- name: name
label: Name
- name: email
label: Email
type: email
- name: Your criteria
description: >
We answer against what you're actually accountable for — so
state it plainly.
requirements:
- name: motivation
label: Your criteria for a good investment
type: textarea
+1
View File
@@ -1,5 +1,6 @@
id: /invested
route: ^/invested
followup: true
name: What happens now?
description: >
Your interest is on its way to a real inbox. Expect a considered,
+1
View File
@@ -1,5 +1,6 @@
id: /project
route: ^/project
followup: true
name: So, what happens now?
description: >
That's on its way to a real inbox. Expect a considered reply within a
+2 -1
View File
@@ -1,12 +1,13 @@
id: /proposed
route: ^/proposed
followup: true
name: Proposal received
description: >
It's in the queue. An owner reads every proposal in full — approved
ones open a real pull request, and the same checks every human
commit passes gate the merge.
alternatives:
- name: What happens now
- name: The path from here
description: ""
features:
- name: A person decides
+1
View File
@@ -1,5 +1,6 @@
id: /subscribed
route: ^/subscribed
followup: true
name: What should you expect?
description: >
We'll write when there's something worth your time — that's the