Files
portal/runs/uhhm-2026-09-28/site/questions/index.yaml
T

274 lines
11 KiB
YAML

name: What is UHHM, and what can you get here?
description: UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.
responsible:
name: Bendik Aagaard Lynghaug
contact: bl@uhhm.no
alternatives:
- name: What UHHM does
description: Two things, both built here and both running.
features:
- name: A considered reply to your brief, and software that fits the argument
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 network that answers to you
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: Have a look around first
description: Nothing to fill in here. What is already out in the world, and the network as it runs right now.
features:
- name: What we have built
description: A few things already out in the world.
icon: lucide:hammer
resource:
public: true
source:
kind: gitea_starred
username: bl
jq: |
.[] | {name: .name, description: .description, url: (if .website != null and .website != "" then .website elif .private then null else .html_url end)}
- name: The redoal network, live
description: Straight from the relay, the first node of the network.
icon: lucide:activity
resource:
public: true
source:
kind: url
url: https://relay.redoal.com/pulse
jq: |
{ "name": (.voices_echoed | tostring),
"description": "voices echoed so far" }
empty: The first voice has not echoed yet.
- name: Changes to this site we have approved
description: Suggestions from visitors that a person here has read and approved, open for anyone to read. [Changes to this site we have approved](/status/development_proposals)
icon: lucide:list
- 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.
action: /received/commission
consequence:
- Send the brief
record_as: projects
features:
- name: What happens next
description: We read your brief and either take it on or tell you honestly if it's not a fit.
icon: lucide:route
- name: Who reads this
description: One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.
icon: lucide:user-check
- name: Tell us the problem
requirements:
- name: name
label: Your name
type: text
placeholder: Sara Nilsen
- name: email
label: Your email
type: email
placeholder: sara@company.com
- name: project
label: The problem you want solved
type: textarea
placeholder: Our drivers log hours on paper and it takes a day to get them into payroll.
- name: organization
label: Your organization
type: text
placeholder: Nilsen Transport AS
- name: org_contact
label: Who we should talk to
type: text
optional: true
placeholder: Sara Nilsen, ops manager
description: The more of the problem you put in, the better the reply.
icon: lucide:briefcase
encouragements:
- Someone here reads every brief in full before writing back.
- 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.
action: /received/trial
consequence:
- Start the draft
record_as: trials
features:
- name: What happens next
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: Who reads this
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: Describe your business
requirements:
- name: business
label: Your business
type: text
placeholder: Nilsen Transport AS
- name: email
label: Your email
type: email
placeholder: sara@company.com
- name: what_we_do
label: What you do
type: textarea
placeholder: We move freight for local businesses and handle the paperwork for them.
- name: who_comes_to_us
label: Who comes to you
type: textarea
placeholder: Local businesses that need something moved on short notice.
- name: what_we_keep_track_of
label: What you keep track of
type: textarea
placeholder: Bookings, driver hours, and which loads are still waiting on a signature.
- name: who_is_involved
label: Who's involved
type: textarea
placeholder: Drivers, dispatchers, and the customers waiting on their delivery.
- name: what_slows_us_down
label: What slows you down
type: textarea
optional: true
placeholder: Approvals sit in someone's inbox for days before anyone acts on them.
description: Answer in your own words - there's no wrong way to describe your business.
icon: lucide:layers
encouragements:
- A person looks at what you send before anything gets built.
- 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.'
action: /received/collaborate
consequence:
- Get in touch
record_as: applicants
features:
- name: What happens next
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: Who reads this
description: One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.
icon: lucide:user-check
- name: Say hello
requirements:
- name: name
label: Name
type: text
placeholder: Your name
- name: email
label: Email
type: email
placeholder: you@example.com
- name: interest
label: What kind of work
type: textarea
placeholder: Backend work, or something design-heavy
- name: note
label: Tell us more
type: textarea
optional: true
placeholder: A bit about what you'd want to work on, or a link to your work
description: Tell us who you are and what kind of work you're after.
icon: lucide:handshake
encouragements:
- A person reads this, not a form filter — worth the ten minutes.
- name: Hear from us now and then
description: You'd rather hear from us now and then than check back on your own.
action: /received/subscribe
consequence:
- Sign up
record_as: subscribers
features:
- name: What happens next
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: Who reads this
description: An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.
icon: lucide:user-check
- name: Stay in the loop
requirements:
- name: name
label: Name
type: text
placeholder: Your name
- name: email
label: Email
type: email
placeholder: you@example.com
description: Just your email, or your name too if you'd like.
icon: lucide:mail
encouragements:
- One click unsubscribes you later, no questions asked.
- 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.
action: /received/propose
consequence:
- Send change
record_as: development_proposals
features:
- name: What happens next
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: Who reads this
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: Propose a change
requirements:
- name: submitted_by
label: Your name
type: text
placeholder: Your name
- name: email
label: Email
type: email
optional: true
placeholder: you@example.com
- name: page
label: Which page
type: text
optional: true
placeholder: questions/join/index.yaml
- name: rationale
label: Why this is better
type: textarea
placeholder: The current heading doesn't say what you actually get
- name: proposed_yaml
label: Your proposed text
type: textarea
placeholder: 'heading: "A clearer way to say this"'
description: Point us to the page and show us the change.
icon: lucide:pencil
encouragements:
- Even a rough version helps — we can tidy the wording ourselves.
- 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.
action: /received/custody
consequence:
- Send to a custodian
record_as: custody_requests
features:
- name: What happens next
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: Who reads this
description: A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime.
icon: lucide:user-check
- name: Reach a custodian
requirements:
- name: name
label: Name
type: text
placeholder: Your name
- name: email
label: Email
type: email
placeholder: you@yourcompany.com
- name: about
label: What's going on
type: select
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
placeholder: A relay node is misbehaving
description: Say which of the four it is, and what you need, in a few lines.
icon: lucide:shield
encouragements:
- A custodian reads every message that comes in here.