WWW Taxonomy 3.0 · the method explained
From a vague label to a testable project profile
Blog, portal, SaaS, and dashboard sound familiar, but rarely tell us what must actually be built. This story shows how a brief becomes five families, 26 leaves, and a profile that preserves design consequences.
The starting point
“Blog”, “portal”, and “SaaS” conceal more than they explain
A familiar label can start a conversation, but it cannot settle scope or architecture on its own.
A “blog” may be a publication series, a paid archive, a multi-author community, or just one section of a larger service. A “portal” may be a catalogue, a customer workspace, a place to submit cases, or a bundle of independent products. “SaaS” describes a delivery and billing model, not the functional outcome.
The problem is not that these words are useless. They are helpful entry points into market language. They fail only when we ask them to determine persistent state, a binding operation, autonomous participants, integration, moderation, or another concrete obligation.
So the method does not begin with “what kind of website is this?”. It asks: “what outcome must exist before the client can accept this part of the project?”.
- Page form does not determine function.
- A business model is not a functional archetype.
- Technology does not replace an acceptance criterion.
- One market label may conceal several independent modules.
A change of perspective
A taxonomy organises outcome contracts, not the appearance of finished sites
A template list groups similar implementations. A taxonomy defines concepts, boundaries, and a repeatable path from a project description to one or more results.
A template answers the practical question “what can I start building from?”. It may mix industry, style, technology, and function because its purpose is speed. A taxonomy has a different job: let two people follow the same reasoning path, name the difference between candidates, and preserve why a decision was made.
The unit of classification is a functional module: a part of the project with its own required outcome, a separate acceptance criterion, and the ability to be named and classified independently. A module need not match a screen, repository, or technical service.
An atomic project has one module. A composite project has at least two. Sign-in, payment, supporting search, export, AI, and an ordinary admin panel remain features or modifiers unless they pass the full module test.
- Its own explicitly required domain outcome.
- A separate acceptance criterion, not merely a delivery mechanism for another outcome.
- The ability to be named and classified independently.
- Scope gate
Confirm a browser interface and a meaningful reference implementation that one person, supported by an agentic tool, can deliver within no more than 12 working weeks.
- Module test
Separate only an outcome with its own end point, acceptance criterion, and classification name.
NAutonomous participantsDoes the outcome require independent parties or a shared pool of their contributions?
PPersistent workspaceDoes the user return to the same domain object and continue work?
OOperator-facing operationDoes completion establish, change, or end a binding effect with the operator?
RData-determined resultDo the user's domain data materially determine the outcome or course?
- One leaf
Apply the predicates within the selected family and stop on exactly one leaf.
- Facets and profile
Record M, U, D, T, any applicable S, secondary contracts, dependencies, and open questions.
Six possible lenses
Every axis sees something important — but not every axis can be the backbone
Form, industry, technology, audience, and job-to-be-done remain valuable context. The primary key must separate the project's functional obligations.
Classification by form is useful for finding inspiration. Industry suggests language and regulatory risks. Technology helps plan execution. Audience reveals access boundaries. Job-to-be-done brings us closer to human motivation. But none of these axes alone ensures that two projects with the same label share the same condition of acceptance.
Version 3.0 uses the outcome contract as its organising axis: what must be published, computed, established, maintained, or coupled between parties. The other axes do not disappear. They return as facets, modifiers, brief inputs, or glossary entry points.
Form
What does it look like, and which page patterns does it use?
- Useful for
- Inspiration, navigation, interface patterns, and template selection.
- What it misses
- The same form may publish, calculate, establish an operation, or maintain a persistent object.
- Its role here
- context
Industry
Which domain does the project operate in?
- Useful for
- Audience language, domain data, obligations, and risk patterns.
- What it misses
- A shop, booking flow, or process can occur in almost any industry.
- Its role here
- context
Technology
How and where is the solution executed?
- Useful for
- Architecture, deployment, rendering, integrations, and operations.
- What it misses
- SSR, SPA, serverless, headless, and AI do not yet say which outcome is accepted.
- Its role here
- facet or modifier
User
Who receives the outcome, and how are they related to the operator?
- Useful for
- Access zones, identity, permissions, and organisational boundaries.
- What it misses
- The same audience may read content, submit a case, or continue work on an object.
- Its role here
- U facet
Job-to-be-done
What progress is the person trying to make?
- Useful for
- Researching motivation, context of use, and the language of needs.
- What it misses
- One job may require several independently accepted outcomes and system contracts.
- Its role here
- brief input
Outcome contract
What must be true before the module can be accepted?
- Useful for
- Separating modules, selecting a family and leaf, and preserving planning consequences.
- What it misses
- It does not replace user research, estimation, interface design, or legal analysis.
- Its role here
- primary axis
The decision path
After the module test, four questions find the strongest necessary contract
N, P, O, and R are not difficulty points. They are ordered questions about the nature of the required outcome.
The scope gate comes first: the primary interface must run in a browser at a URL, and a meaningful reference implementation must fit the method's operational limit. The module test then separates independent outcomes.
Only then do we read N → P → O → R. The first “yes” selects a family. N asks about autonomous participants or a shared pool of their contributions. P asks whether work on the same object continues in a later session. O asks about a binding effect with the operator. R asks whether user data materially determine the outcome. Four “no” answers lead to the publishing family.
The order does not merge outcomes that already passed the independent-module test. If two outcomes have their own acceptance criteria, they receive two paths even when one depends on the other.
- N: autonomous parties or their shared pool of contributions.
- P: a persistent domain object continued across sessions.
- O: a binding operation with the operator.
- R: an outcome materially determined by current-session data.
NAutonomous participants
Does the outcome require independent parties or a shared pool of their contributions?
First yes → Multi-sided platformPPersistent workspace
Does the user return to the same domain object and continue work?
First yes → Persistent-workspace appOOperator-facing operation
Does completion establish, change, or end a binding effect with the operator?
First yes → Operator-operations serviceRData-determined result
Do the user's domain data materially determine the outcome or course?
First yes → Session tool
The concept map
Five families describe five different functional promises
A family is only the decision area. Classification ends on one of 26 leaves for every module.
A publishing service delivers content selected or arranged by an operator. A session tool produces an outcome, change, or course determined by current input. An operator-operations service establishes a binding effect. A persistent-workspace app lets someone continue an object. A multi-sided platform couples autonomous participants or their contributions.
Each family has its own predicates. A tool, for example, may control an external state, make an accurate claim, create an artifact, select an existing object, deliver a message, or be an experience in itself. Precision comes from boundaries between leaves, not from multiplying fashionable labels.
The tree has no “Other” class. If no leaf fits literally, the method records a terminology gap instead of hiding it under the nearest name.
PUBN— · P— · O— · R—Publishing service
Makes content selected, arranged, or maintained by one operator or publisher available.
6 leaves
- Publication series service
- Reference resource corpus
- Record catalogue
- Multi-type entity database
- Presentation site
- Single publication
TOOLN— · P— · O— · R+Session tool
Produces an outcome, change, or course materially determined by input in the current session.
6 leaves
- External-system session controller
- Analyzer
- Artifact generator
- Search and selection tool
- In-session contact channel
- Interactive experience
OPN— · P— · O+Operator-operations service
Establishes, changes, or ends a binding effect with the operator.
4 leaves
- Booking service
- Ordering service
- Payment service
- Case-intake service
WORKN— · P+Persistent-workspace app
Lets someone create, control, or continue the same domain object across sessions.
5 leaves
- Process app
- Project editor
- Persistent-progress experience
- Persistent service communication space
- Record-keeping app
MULTIN+Multi-sided platform
Couples autonomous participants' actions or their separate contributions to a shared pool.
5 leaves
- Multi-sided transaction platform
- Collaboration platform
- Matching platform
- Communication platform
- User-contribution platform
The planning profile
Facets preserve consequences that one difficulty score should not pretend to summarise
The same archetype can have a completely different access, data, execution, integration, and risk profile.
After selecting a leaf, the method records M1–M11 modifiers, U1–U4 audiences, D1–D7 data sources, the T1–T4 execution model, and — for a persistent workspace — the S1–S3 source of authoritative change. The axes remain separate because they answer different questions.
M10 does not simply mean “hard”, T3 does not mean “modern”, and more codes do not automatically create a higher project level. Codes preserve concrete obligations: tenant isolation, moderation, a source of truth, route rendering, or change-merge rules.
A quick estimate may use the union of modifiers, but responsibility stays with the module. A payment risk in one outcome is not mechanically assigned to the whole project.
Questions that remain after classification
MObligation modifiers
Which additional obligations genuinely apply to this module?
They preserve identity, permissions, payments, moderation, integrations, background work, and elevated data risk, among other concerns.UAudience relationship
Who receives the core outcome in this zone?
It distinguishes public access, an identified customer, a partner organisation, and operator staff.DContent or data source
Where is each logical dataset's source of truth, and is there transient input?
It separates repository data, a CMS, an owned backend, a platform service, an external system, local state, and current input.TExecution model
Where and when is the interface produced, and is there a separately deployed API?
It records build-time, server, and client rendering per route; T4 remains an independent flag.SSource of authoritative change
Who may independently establish an authoritative change to the persistent primary object?
It distinguishes app-established, co-authoritative, and exclusively external state.Deliberate choices
Unambiguity has a cost — so the method states its own limits
The taxonomy is a tool for reasoning about scope, not an automaton that replaces specification, estimation, or legal analysis.
One leaf per module makes results comparable, but puts pressure on correct outcome decomposition. A priority key resolves consistently, but weaker roles must be preserved as secondary contracts and effects. A hybrid structure is richer than a flat list, but asks the reader to complete several steps.
There are empirical limits too. Observational warrant comes from recognisable service and template catalogue patterns, not a statistically representative corpus. M10 signals an elevated obligation, but does not replace a data and jurisdiction profile. An unclear brief can still lead two teams to decompose modules differently.
These costs are not hidden. The module test, boundary questions, explicit terminology gaps, and an auditable answer trail reduce discretion without pretending to eliminate it.
Exactly one leaf per moduleOpen explanation
- What you gain
- A comparable, unambiguous result that ends on a controlled term.
- What it costs
- An unclear brief may still cause disagreement about what is truly a separate module.
- Guardrail
- The three-part module test and explicit acceptance criteria.
The N→P→O→R priorityOpen explanation
- What you gain
- A deterministic route when one inseparable outcome has several roles.
- What it costs
- Weaker but still costly contracts could disappear behind the winning family.
- Guardrail
- The secondary_contracts and secondary_effects fields preserve their consequences.
An archetype hierarchy plus facetsOpen explanation
- What you gain
- Stable outcome names without multiplying types for every data and technology combination.
- What it costs
- The profile is longer than one label and requires several distinct decisions.
- Guardrail
- A fixed order: scope → modules → family → leaf → facets.
No aggregate difficulty scoreOpen explanation
- What you gain
- Avoids false precision and does not equate different kinds of obligation.
- What it costs
- The profile is not a ready-made quote or an automatic project ranking.
- Guardrail
- Estimation can use local M codes, dependencies, and open questions without losing ownership.
An explicit operational scopeOpen explanation
- What you gain
- Keeps the method focused on projects with a meaningful, bounded reference implementation.
- What it costs
- Specific implementations requiring global infrastructure or enterprise transformation remain out of scope.
- Guardrail
- The type remains in the vocabulary if a limited-scale version passes the gate.
A controlled term instead of the most popular labelOpen explanation
- What you gain
- Synonyms, examples, and ambiguous entries do not become confused with actual types.
- What it costs
- The reader must sometimes translate a familiar market label into a preferred term.
- Guardrail
- The PT, UF/USE, EX, and ENTRY glossary leads from entry language to the right question.
From brief to profile
One “comparison site” becomes three independent outcomes
The example shows why modules are separated before the N→P→O→R key is applied.
The brief requires finding existing insurance offers, diagnosing flood risk, and producing a ready-to-use protection plan. The API and redirect matter, but do not determine the type of the whole project.
Each outcome has its own acceptance criterion: a relevant selection of an existing offer, an accurate diagnosis, and a usable new artifact. The result is a composite profile, while the diagnosis → plan dependency does not merge two outcomes into one module.
Starting brief
Insurance comparison, diagnosis, and a protection plan
A comparison tool retrieves existing insurance offers through an API and redirects users to providers. Separately required outcomes are a flood-risk diagnosis and a ready-to-use protection plan generated from that diagnosis.
Module test
- Does the description contain more than one explicitly required domain outcome?Yes. Selecting an existing offer, diagnosing risk, and producing a new plan have different end points.
- Does each outcome have a separate acceptance criterion?Yes. A relevant selection, an accurate diagnosis, and a usable plan can each be accepted independently.
- Can they be named and classified independently?Yes. The diagnosis → plan dependency does not remove either outcome's independence.
Independent modules
select- Required outcome
- Find and select an existing insurance offer.
- Acceptance criterion
- The user receives an ordered set of relevant, pre-existing offers.
diagnose- Required outcome
- Diagnose flood risk from the supplied inputs.
- Acceptance criterion
- The outcome is judged by the correctness or accuracy of the diagnosis.
artifact- Required outcome
- Create a ready-to-use protection plan from the diagnosis.
- Acceptance criterion
- A new artifact exists and is ready for later use.
Decision trail
select- Route
- N— → P— → O— → R+
- Family
- Session tool
- Leaf
- Search and selection tool
The outcome selects objects that existed before the request; the API is a source, not an autonomous participant.
diagnose- Route
- N— → P— → O— → R+
- Family
- Session tool
- Leaf
- Analyzer
Success is judged by the accuracy of a new diagnosis determined by the inputs.
artifact- Route
- N— → P— → O— → R+
- Family
- Session tool
- Leaf
- Artifact generator
Success is the readiness of a new plan, not the truth of another claim.
- selectM8
Only the selection module requires an external API integration during normal operation.
- diagnose → artifact
The outcome flow is recorded as a dependency between modules, not as a new archetype.
- to be clarifiedU · D · T
The brief does not settle audience zones, every dataset source, or execution model; the profile should preserve these questions.
Resulting profile
- select: Search and selection tool [M8]
- diagnose: Analyzer
- artifact: Artifact generator
- diagnose → artifact
- Which U audience zones apply to each module?
- Which D sources describe the diagnosis and plan data?
- Which T execution model applies to each route group?
Try it on your brief
The best test of a taxonomy is a concrete project decision
You do not need to memorise 26 names. Start with an outcome and let the questions narrow the path.
Take one sentence from a brief and add its condition of acceptance. Test whether it is an independent module. Walk through N, P, O, and R without guessing, then choose a leaf within the family. Finally, record only the facets that genuinely follow from the requirements.
If the answer is “I don't know”, do not replace it with intuition. Keep it as a brief question. If two outcomes are independently acceptable, do not force one type. If no leaf fits, record a gap. Those moments often reveal the most about the project.
Plain-language glossary
- Taxonomy
- A controlled system of concepts, relationships, and decision rules — not a loose list of names.
- Functional archetype
- A module type distinguished by the contract of its required outcome.
- Module
- A part of the project with its own outcome, acceptance criterion, and independent classification.
- Leaf
- The most specific controlled term in the tree, where module classification ends.
- Facet
- An independent descriptive axis that preserves delivery conditions without creating another archetype.
- Composite profile
- A project profile with at least two independently classified modules.
- PTpreferred term
- The controlled name of a concept used as the proper glossary result.
- UF / USEused for / use
- A true synonym and its direction to one preferred term.
- EXexample
- An example of a concept, not an interchangeable synonym.
- ENTRYambiguous entry
- An ambiguous input label that leads to candidates and a question, not an automatic result.
- Secondary contract
- A satisfied N, P, O, or R that did not win the key but still carries planning obligations.
- Terminology gap
- An explicit audit result when no leaf fits literally; it must not be hidden under an “Other” class.