The front door opens modestly, and everything sits on it
Lint and reload / lint (push) Skipped
Lint and reload / lint (push) Skipped
No doors: the page first says what UHHM does, two cards for the two roles it exists for (a brief, and the redoal network), each headed by what that role gets, then what there is to look at (what was built, the relay's live count), and only then the six offers. The client can withdraw a brief and the person on the network says when a case is resolved, so both roles have a move after sending. Rebuilt by portal-trainer from plans/uhhm.yaml, round 5. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
5b657828e1
commit
8b4e6e053b
+10
-10
@@ -7,14 +7,14 @@ needs:
|
||||
id: commission
|
||||
lands_in: projects
|
||||
max_fields: 4
|
||||
max_steps: 2
|
||||
max_steps: 1
|
||||
stages:
|
||||
- open
|
||||
- accepted
|
||||
- declined
|
||||
success:
|
||||
- accepted
|
||||
via: You run an organization that needs software built
|
||||
via: 'Have us build it: send the brief'
|
||||
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:
|
||||
@@ -25,7 +25,7 @@ needs:
|
||||
id: trial
|
||||
lands_in: trials
|
||||
max_fields: 6
|
||||
max_steps: 2
|
||||
max_steps: 1
|
||||
stages:
|
||||
- open
|
||||
- approved
|
||||
@@ -33,7 +33,7 @@ needs:
|
||||
- declined
|
||||
success:
|
||||
- previewed
|
||||
via: You run an organization that needs software built
|
||||
via: See your own business as a site, before you buy anything
|
||||
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:
|
||||
@@ -44,7 +44,7 @@ needs:
|
||||
id: collaborate
|
||||
lands_in: applicants
|
||||
max_fields: 3
|
||||
max_steps: 2
|
||||
max_steps: 1
|
||||
stages:
|
||||
- open
|
||||
- invited
|
||||
@@ -53,7 +53,7 @@ needs:
|
||||
- declined
|
||||
success:
|
||||
- departed
|
||||
via: You want to join us, follow us, or fix a page on this site
|
||||
via: Work with us
|
||||
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:
|
||||
@@ -63,12 +63,12 @@ needs:
|
||||
id: subscribe
|
||||
lands_in: subscribers
|
||||
max_fields: 2
|
||||
max_steps: 2
|
||||
max_steps: 1
|
||||
stages:
|
||||
- open
|
||||
- unsubscribed
|
||||
success: []
|
||||
via: You want to join us, follow us, or fix a page on this site
|
||||
via: Hear from us now and then
|
||||
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:
|
||||
@@ -79,14 +79,14 @@ needs:
|
||||
id: propose
|
||||
lands_in: development_proposals
|
||||
max_fields: 3
|
||||
max_steps: 2
|
||||
max_steps: 1
|
||||
stages:
|
||||
- open
|
||||
- approved
|
||||
- rejected
|
||||
success:
|
||||
- approved
|
||||
via: You want to join us, follow us, or fix a page on this site
|
||||
via: Suggest a change to 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:
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
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
|
||||
@@ -0,0 +1,9 @@
|
||||
alternatives:
|
||||
- description: ''
|
||||
name: Declined
|
||||
self_transition:
|
||||
bucket: projects
|
||||
label: Declined
|
||||
to: declined
|
||||
description: ''
|
||||
name: What would you like to do?
|
||||
@@ -0,0 +1,9 @@
|
||||
alternatives:
|
||||
- description: ''
|
||||
name: Resolved
|
||||
self_transition:
|
||||
bucket: custody_requests
|
||||
label: Resolved
|
||||
to: resolved
|
||||
description: ''
|
||||
name: What would you like to do?
|
||||
+221
-14
@@ -1,22 +1,229 @@
|
||||
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.
|
||||
- description: Two things, both built here and both running.
|
||||
features:
|
||||
- description: ''
|
||||
- description: 'UHHM builds and carries the redoal network: the gesture math, the relay, the first node, and the portal this page runs on. Run a node, build on it, or have a recording removed, and you say when it is resolved.'
|
||||
name: A network that answers to you
|
||||
- description: 'Infrastructure, tools and products for organizations that can say what problem they have. Bring the brief, or first see your own way of working as a working site, before you pay for anything. The brief stays yours: you can withdraw it yourself.'
|
||||
icon: lucide:layers
|
||||
name: A considered reply to your brief, and software that fits the argument
|
||||
name: What UHHM does
|
||||
- description: Nothing to fill in here. What is already out in the world, and the network as it runs right now.
|
||||
features:
|
||||
- description: A few things already out in the world.
|
||||
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
|
||||
name: What we have built
|
||||
resource:
|
||||
jq: |
|
||||
.[] | {name: .name, description: .description, url: (if .website != null and .website != "" then .website elif .private then null else .html_url end)}
|
||||
public: true
|
||||
source:
|
||||
kind: gitea_starred
|
||||
username: bl
|
||||
- description: Straight from the relay, the first node of the network.
|
||||
icon: lucide:activity
|
||||
name: The redoal network, live
|
||||
resource:
|
||||
empty: The first voice has not echoed yet.
|
||||
jq: |
|
||||
{ "name": (.voices_echoed | tostring),
|
||||
"description": "voices echoed so far" }
|
||||
public: true
|
||||
source:
|
||||
kind: url
|
||||
url: https://relay.redoal.com/pulse
|
||||
name: Have a look around first
|
||||
- action: /received/commission
|
||||
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.
|
||||
- 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: ''
|
||||
- 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
|
||||
- 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: For a person, on their own behalf
|
||||
name: You want to join us, follow us, or fix a page on this site
|
||||
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
|
||||
- action: /received/custody
|
||||
consequence:
|
||||
- Send to a custodian
|
||||
@@ -57,7 +264,7 @@ alternatives:
|
||||
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?
|
||||
name: What is UHHM, and what can you get here?
|
||||
responsible:
|
||||
contact: bl@uhhm.no
|
||||
name: Bendik Aagaard Lynghaug
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
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
|
||||
Reference in New Issue
Block a user