Glossary
Shared vocabulary across the spec, the PRD, the brief, and in-app copy. Terms are grouped by domain rather than ordered alphabetically — the goal is for a reviewer reading any single doc to be able to look up the words it uses without leaving their section. The original specification described artworks as “puzzles” and the library as a “gallery”; both terms have been retired and should not return.
3.1 — Content vocabulary
The words product, design, content, and engineering all use for the things the user sees.
Artwork
The primary content unit. A single illustration that a user can colour. Synonymous with “picture” in casual product copy. Replaces the legacy term “puzzle.” Authored once, reviewed once, published as a bundle.
Starter artwork
A free artwork that every user receives without paying. Curated for the audience type selected at onboarding and used to deliver the first satisfying fill. The launch library ships with ~25 starter artworks (§19) — the exact count is the curated launch-library commitment, not a hard cap.
Library
The browsable catalogue of artworks. Replaces the legacy term “gallery.” The library is filtered and ranked by the personalisation answers captured in onboarding (§9.7).
Region
One discrete fillable area of an artwork, identified by an integer index, a colour ID, and a vector path. The data-model term. Always “region” in code and in any backend-facing doc.
Cell / area
User-facing synonym for region. Use in product copy and onboarding (“tap a numbered cell”) — never in code, data, or analytics events.
Palette
The ordered set of numbered colours an artwork uses. Each entry has an ID, a hex value, and a display name (e.g. Saffron, Indigo). Palettes are validated against deuteranopia, protanopia, and tritanopia simulations by the bundler (§12.1).
Manifest
The JSON document at the root of an artwork bundle that describes the artwork’s identity, version, palette, region count, dimensions, and pointers to the binary region payload and preview assets. Locale variants of translatable strings live in PostgreSQL, not in the manifest (§5.3).
Bundle
The downloadable artefact for one artwork: manifest, region data, preview, thumbnail, and optional line-art reference. A bundle is the unit of cache, the unit of versioning, and the unit of offline play.
3.2 — Curation & commerce
The words that describe how artworks are grouped, sold, and gated.
Collection
A curated group of artworks displayed together in the library — for example a featured row, a cultural-theme row, or an editorial spotlight. A collection is a curatorial unit. It may contain free or paid artworks and is not itself a purchasable product.
Content pack
The single paid product unit at launch — a one-off IAP that grants the user permanent access to a named group of premium artworks (e.g. Carnival Queens, Adinkra Symbols). Sold via Apple StoreKit 2 and Google Billing 6+; receipts validated server-side via Apple ASSN and the Google Play Developer API (§4.7). “Content pack” is the canonical term — “premium pack” is a deprecated synonym still in some older docs and should be migrated on touch.
Paywall
The sheet shown when a user attempts to download or open a premium artwork they do not own. The paywall presents the relevant content pack, the Restore Purchases entry point, and a clearly dismissible alternative (§9.5). The paywall never appears in onboarding before the user has experienced the aha moment (§9.7).
Entitlement
A record granting a user access to one or more premium artworks. At MVP, entitlements are always content-pack purchases — the only entitlement_type written in production is pack (§4.7, §19). The schema in §7.5 keeps subscription as a known value for forward compatibility; it is not exercised at launch. Family Sharing-propagated entitlements are honoured.
Subscription (post-MVP)
A recurring access model deferred post-MVP per the locked decision in §4.7 and OD-02 in §20. Listed here to give the term a single canonical home so it does not accidentally re-enter MVP scope through copy or spec drift.
3.3 — User state
The flags and concepts that describe who the user is to the system.
Anonymous session
The persistent local profile every install holds from first launch, before any sign-in. Carries cultural-theme preferences, audience type, accessibility settings, downloaded artworks, and local progress. Defined in §7.8 and surfaced in every onboarding flow (§9.1, §9.6). Account creation merges the anonymous session into a signed-in user record by region-bitset union.
Child mode
The user-state flag profiles.child_mode = true, set by selecting “a child” or “both” in the onboarding audience question (§9.7). When set, the content filter applies, the analytics SDK runs in opt-out mode with only app_opened and crash signals emitted, user_id is stripped from those events, and ad SDKs are not loaded (§13.3). Richer parental controls and per-child profiles are explicitly out of MVP scope (§19).
Progress
The set of regions a user has completed on a given artwork, plus the timestamps, the currently selected colour, the local sync state, and optionally time spent. Progress is local-first and synced opportunistically when online (§4.6).
3.4 — Process & experience
The named UX and editorial moments that the spec, the brief, and the PRD all reference.
Cultural review
The publish gate every artwork passes through before going live. Conducted by a named cultural reviewer who checks authentic representation, absence of caricature or exotification, appropriateness of cultural symbols for a children’s app, and accuracy of category and theme tagging. The reviewer’s decision is recorded in moderation_reviews; publication is blocked until cultural_review_status = 'approved' (§14.2).
Cultural review board
The named group of cultural reviewers responsible for the cultural-review publish gate. A roster, not a marketing concept — see §14.2.
Aha moment
The moment of first delivered value — the user fills the first ten cells of a beautifully designed starter artwork and feels the product working (§9.7 principle 5). Used as the activation health signal (§1.5) and as the gate before any account-creation, paywall, or notification prompt is shown.
Time-to-aha
The wall-clock duration from app open to the user’s first satisfying fill on the starter artwork. The single onboarding metric that matters (§22 principle 6). Used to judge whether the welcome and personalisation flow is too heavy; not a contractual conversion target.
Founder’s note
The brief handwritten note from the founder that appears after the first artwork completion (or 50% milestone on long artworks) explaining why this app exists, signed. The highest-leverage trust-building surface in the product and a launch deliverable, not a polish item (§9.7 principle 6).
3.5 — Retired terms
Listed so reviewers and future contributors know not to reintroduce them.
| Retired | Replacement | Reason |
|---|---|---|
| Puzzle | Artwork | The product is a colouring app, not a puzzle game. |
| Gallery | Library | ”Library” matches the lineage and the catalogue model. |
| Premium pack (as a noun) | Content pack | Single canonical term for the paid product unit (§4.7). “Premium pack preview” remains acceptable as an adjective phrase in retention copy. |