Lint and reload / lint (push) Skipped
Five needs (commission, follow, collaborate, improve-site as planned, track-prospect) and nine personas in their own words, for portal's question_lint needs pass (uhhm/portal 188f9bf). The runtime never reads this file; older lint binaries ignore it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
128 lines
4.1 KiB
YAML
128 lines
4.1 KiB
YAML
# What UHHM, as a business, needs this site to do - stated apart from
|
|
# how the pages word it. `question_lint` checks every need against the
|
|
# pages and aggregates.yaml (portal `src/needs.rs`): a path of
|
|
# submissions gets the visitor's answer into `lands_in` within the
|
|
# effort budget, `handled_by` has a desk over that bucket, and every
|
|
# `done_when` state is reachable through the moves the desk offers.
|
|
#
|
|
# The personas are visitors in their own words - never the site's.
|
|
# `question_lint --needs-tasks` turns each page on their path into a
|
|
# typed choice for an answering engine; `--needs-score` grades its
|
|
# picks. A misroute means the page said one thing and they heard
|
|
# another. The runtime never reads this file.
|
|
needs:
|
|
- id: commission
|
|
who: someone with a problem software could solve, and a budget
|
|
wants: UHHM to take the work on
|
|
via: Good software begins with a clear argument
|
|
lands_in: projects
|
|
handled_by: owners
|
|
done_when: [accepted, declined]
|
|
max_steps: 1
|
|
# name, email, the build, the organization - the page argues for
|
|
# each of the four; a fifth would need the same argument.
|
|
max_fields: 4
|
|
|
|
- id: follow
|
|
who: someone curious who isn't ready to get involved
|
|
wants: to hear when something ships
|
|
via: Attention is earned
|
|
lands_in: subscribers
|
|
handled_by: owners
|
|
# Being on the list is the finished state; leaving is theirs to do.
|
|
done_when: [open, unsubscribed]
|
|
max_steps: 1
|
|
max_fields: 2
|
|
|
|
- id: collaborate
|
|
who: a developer, designer or researcher
|
|
wants: to work with UHHM
|
|
via: Work happens through dialogue, not tickets
|
|
lands_in: applicants
|
|
handled_by: owners
|
|
done_when: [active, declined]
|
|
max_steps: 1
|
|
max_fields: 3
|
|
|
|
- id: improve-site
|
|
who: anyone using this site
|
|
wants: the site itself to change
|
|
enters: /develop/proposal
|
|
# Announced, not open: the automation that turns a proposal into a
|
|
# pull request is still being built, so the alternative is disabled.
|
|
planned: true
|
|
lands_in: development_proposals
|
|
handled_by: owners
|
|
done_when: [approved, rejected]
|
|
max_steps: 1
|
|
max_fields: 3
|
|
|
|
- id: track-prospect
|
|
who: an owner who met an organization worth following up
|
|
wants: the relationship written down and walked to an outcome
|
|
enters: /review
|
|
enters_as: owners
|
|
via: Record a prospect
|
|
lands_in: organizations
|
|
handled_by: owners
|
|
done_when: [client, past_client]
|
|
max_steps: 1
|
|
max_fields: 2
|
|
|
|
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: follow
|
|
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: follow
|
|
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: site-critic
|
|
need: improve-site
|
|
text: >
|
|
Your contact form never says how long a reply takes. You should
|
|
add that.
|