Information Architecture Detail layer Node page

1.4 Add Subscription

Make the manual path cheap enough that an avoider actually finishes it.

Node 1.4Type: page, loops to itselfMVP Cluster 1 Onboarding and Activationnoindex

Specified with the template fixed on the etalon, node 1.1 Welcome. Source: docs/nodes/1-4-add-subscription.md. Composition from the block bank, type B. Supersedes this node's section of onboarding.md.

Purpose and jobs

Today the manual path fails not because people cannot do it, but because it is fragmented and tedious: statements, app stores, email, and every service's own settings (CJM As-Is, phase 3). This node is the whole reason D2 is credible.

JobsJ5 is primary, with J-MAIN. Realizes D2.
URL/start/add during onboarding, /add from Home later.
Entry, exitIn from node 1.2, 1.5, 2.6 or 6.14. Out to node 1.5 in onboarding, back to node 2.6 afterwards.
ComponentsGC1 App Header, onboarding variant. GC4 Subscription List Item, tile variant, inside block 3.

Content blocks

#BlockCarriesFrom the bank
1Step chrome: backGC1TAKE, DIFFERENTLY
2Search field, focused on arrivalPhase 3 barrierTAKE (IFTTT)
3A row of the most tracked services as tiles with real logosD2, growth zone 2, Phase 3 barrierTAKE, DIFFERENTLY: ReSubs uses its preset count as a boast, we use it as evidence that the manual path is not punishment
4The form, prefilled from the chosen preset: name, price, billing cycle, next chargeD2, J-MAINTAKE, DIFFERENTLY: a blank form is the version people abandon; ours is a confirmation, not data entry
5Save, primaryJ-MAINTAKE
6"Add another", quiet, after savingJ-MAINTAKE: the one-at-a-time loop has to be cheap or the manual path stops at the first entry
7Fully manual entry, for anything not in the catalogueD2TAKE

Named and not added: category, image upload, SKU and other catalogue fields (Square) - category is derived, not asked, and every extra field is a reason to close the tab. Also not added: a notes field (Subo), a tracker feature for people who enjoy trackers.

States, filters, the one action

NodeStateReads likeTrigger
1.4.1Preset library loadingSkeleton tiles, the search field already usableCatalogue not yet loaded
1.4.2Presets unavailableThe catalogue is down, the manual form still works and is offered directlyCatalogue request failed
1.4.3No preset matches"We do not have this one yet" plus the manual form prefilled with what was typedSearch returned nothing
-Saved"Add another" and "Done" side by sideA save succeeded

The three failure states all end in the same place: the manual form. Nothing on this screen can leave a person unable to add a subscription. Filters and facets: none, the catalogue is browsed by search and by the popular row.

Primary CTA: "Save" on the form, then "Done" with "Add another" beside it. During onboarding, done leads to node 1.5; afterwards it leads to node 2.6.

Responsive. Mobile: search, then a two-column tile grid, then the form full width. Desktop: a wider tile grid; the form stays a single column so the field order cannot be misread.

Emotional support

No mechanism from the table has this node as its home. E1 through the voice rules of every state: no service is described as a waste, and an empty catalogue result is our failure, not the person's. Nothing else is claimed here.

SEO, locked, open

SEO. noindex, no schema. Private and transactional.

Locked: search plus tiles, the prefilled form, the cheap loop, three failure states that all land on the manual form. Open ?: the real size of the preset catalogue at launch (the copy says 400+ services). Resolving input: the catalogue build.

Done at the wireframe rebuild, 2026-08-05: the "Most tracked" tile row is on the screen (block 3, which the July build skipped straight past), and the Category select is off the form. Category is derived, not asked, and it was one of the fields this node names and does not add.

Grey screen: wireframes/add-subscription.html.