Skip to content

Feature Backlog (build phase)

Source: Notion "Product Features" database (pulled 2026-06-29). Full verbatim list in raw/product-features.md. This file is the engineering distillation; the raw file is authoritative for exact wording/fields.

34 features. Breakdown: 20 Front End, 7 Back End, 2 BE+FE, 4 Content Design, 1 Growth (1 of the Content Design items is a Research spike, not a build feature). Priority: 23 High / 8 Medium / 2 Low / 1 Backlog.

Planning state: Sprint, Quarter, Estimate Days, Start/End Dates are empty on all 34 rows, and every item is Design Review: Not Started / Test Build: Not Started. The backlog is not yet sprint-planned, estimated, or segmented into MVP vs Phase 2 as of pull. Treat priority as the only sequencing signal.

Backend-owned work (this repo)

The 7 Back End + 2 BE+FE items are what this Wagtail/CMS service owns:

Feature Priority Note
CMS Foundation High Wagtail install, hosting/envs, headless content API with caching + rate limits, admin roles (editor/admin/viewer), media/asset hosting + CDN, draft/preview mode.
Content data model + CMS High Concrete schemas below.
Journey / Portal editor High CRUD for Journey/Portal; chapter slot ordering + piece refs (opening-Q / primary-reading / supporting slots); per-chapter reflection override; journey metadata (colour, icon, portal shape enum, opening question, featured flag).
Podcast content type High Embed link (externally hosted) + duration + transcript + tags. Separate shape from text piece; no voice-clone pipeline. Phase 1: receptacle/schema stub only — not built (call 2026-06-29).
Tag-overlap graph computation engine High Indexes pieces by theme-tag combinations, computes piece-to-piece edges; deterministic/reproducible; result cached/indexed. Powers Explore + related content. Build-time, matches the load-bearing tag constraint (00-constraints.md). Flag (stand-up 2026-06-30): "related content" was deprioritized — confirm whether this engine stays in the v1 build or only its surfacing UI is deferred.
User data model (saves, progress, completion) High Saves / Journey-progress / Journey-completion tables (see below). Prereq for all Journey + Profile features. Implies user identity — see auth tension below.
Audio Reading / voice clone pipeline Medium ElevenLabs voice-clone triggered from a piece in CMS; store + attach audio; short-pieces-first rollout queue. Build-time, not runtime (00-constraints.md). Distinct from podcast playback.
Account creation + unified gate flow High (BE+FE) One account-creation flow shared by three gate entry points (first save, Journey embark, chapter complete).
Push notifications infrastructure Backlog (BE+FE) APNs + FCM token registration, send pipeline, per-user prefs. Build only if a notification type is confirmed shipping; Settings section omitted otherwise.

Content & user data schemas

Canonical field-level schemas live in docs/cms-architecture.md. Key content types: Passage, Letter, Essay, Podcast (stub), Work, Author, Prompt, Journey/Chapter, Theme. User data: Save (Soul Map entry with prompt snapshot), JourneyProgress, JourneyCompletion, Reflection, DailyDrop.

Auth scope — RESOLVED 2026-06-29

The backlog's High-priority auth/account/gate rows were ambiguous (unsegmented MVP vs Phase 2). Resolved by Lina Wiezkowiak (delivery lead) in Slack, 2026-06-29 — see raw/slack-auth-scope-2026-06-29.md:

  • In V1 (14-week build): Auth — sign up + log in, Account creation, Forgot password / reset, Settings (sign out, delete account), and the per-user_id data tables above. Users must be able to make an account.
  • Out of V1: gates (no content gating) and all monetization — no paywall/subscription in V1.
  • This reverses the earlier "no auth at MVP" non-negotiable (00-constraints.md #1, 04-mvp-scope.md).

Caveat: the Product Features doc was a pre-client-vetting first pass and Lina will still prune/clarify it — treat individual rows as provisional. Warrants an ADR once locked. The Account creation + unified gate flow row mixes the in-scope account flow with out-of-scope gating; build the account flow, not the gates.

Content Design / cross-discipline dependencies

  • Content tagging taxonomy + editorial guidelines (Research, High) is the upstream blocker: tag axes + controlled vocab must be locked before the CMS vocab tool, AI tagging, and the graph engine can be built or trained.
  • Deeper Meaning generation + QA workflow and Deeper reading confirm AI annotation is stored text, editor-approved, no runtime AI in the content path (00-constraints.md). Likely deprioritized (stand-up 2026-06-30): the client has no editorial team to QA it yet — the shorter shared "thought provoker" prompt is the part that stays.
  • Every content piece shares a spine (stand-up 2026-06-30): topic tags, theme tags, a "thought provoker" question, bookmarking, reflections — reinforces the Content Item bridge in docs/cms-architecture.md. The thought provoker (Prompt type) is distinct from the deprioritized Deeper meaning block (terminology to confirm).
  • Tag-overlap recommendation engine (per-piece related pieces/Journeys by shared tag count) sits on top of the graph engine; pre-computed at publish or fast runtime query.