AstroMatrix Orientation Map

Orientation 2026-09-11 4 repos · 3 lanes · 147 issues

Where everything is, and where it's going

Nothing here is new information — it's the existing docs, arranged. The confusion has one cause: three separate tracking systems run in parallel, each with its own source of truth, and the roadmap lives in a fourth place that isn't called a roadmap. Read §1 and §3 and you have the whole picture.

§1

The three lanes

Every doc in the project belongs to exactly one of these. They are deliberately separate — a technical defect, a thing to build, and a customer who didn't get an answer are different jobs with different owners. Mixing them is what makes the folder look chaotic.

Fires

Technical defects

"What's broken, and has it actually been fixed?"

Source of truth
docs/SUPPORT-fire-manager-report-2026-08-26.md 147 numbered issues. Index table at the top, detail sections below.
Derived — never hand-edit
SUPPORT-fire-NODE.md
SUPPORT-fire-FLUTTER.md
SUPPORT-fire-PROCESS.md Regenerated from the master. Fix the master, regenerate.
How to work it
SUPPORT-fire-manager-PROCEDURE.md
Product

What to build next

"What should we do, in what order, and why that order?"

The forward list
docs/product/FEATURE-LIST.md Ranked items + every direct user request, weighted by repeat count.
The actual roadmap
docs/product/competitive-position-2026-09.md §7 The 3-horizon plan. This is the roadmap — it just isn't named like one.
Index for the folder
docs/product/README.md
Support

The inbox

"Did we drop a customer, and what are they telling us?"

Queue & volume
docs/SUPPORT-status-report.md Updated in place — never a new file per session.
Non-technical complaints
docs/SUPPORT-ux-experience-issues.md Navigation, moved features, tone. Not bugs — deliberately separate.
How to work it
SUPPORT-manager-procedure.md

Two more workstreams that aren't any of the above

Legacy migration

Porting the .NET API onto Node. A real, active workstream that was missing from the docs index entirely until today.

docs/MIGRATION-*.md — 6 docs

Infra & disaster recovery

Windows/Ubuntu failover phases, incident history, open security items.

docs/INFRA-resilience-roadmap.md

The numbers baseline

Cross-cutting, and the one to read before quoting any figure. Part 1 is a list of numbers that were previously wrong and are still repeated elsewhere.

docs/FINDINGS-2026-09-11.md
§2

Which repo holds what

The product lane spans two repositories, which is the second-biggest source of "I can't find it". Strategy docs live in the Flutter repo; feature and competitive docs live in the Node repo.

RepoHoldsState right now
astromatrix-nodejs Backend. All fire, support, product, migration and infra docs. 4 commits unpushed
astromatrix-flutter The app. The strategy layer: q4-growth-plan, strategy-reference, built-but-disconnected, acquisition-channels, product-strategy, user-knowledge-audit 3 files uncommitted — two of them are Horizon 0 work
astromatrix-public The website. Store/legal pages. 5 files uncommitted, incl. the Terms fix
astromatrix-engine Go calculation engine. Clean
astromatrix Legacy .NET. Only edit when Node genuinely can't do the fix. Being migrated away from
§3

The roadmap

From competitive-position-2026-09.md §7. Three horizons, each item naming the asset it builds on. The numbering is a real sequence — Horizon 0 is a precondition for pricing anything in Horizon 1, not a warm-up.

Horizon 0 This month No new systems. Copy, prices and links only.
  • 0.1Replace the store's plan copy. Delete "50GB storage", "Advanced analytics", "Priority 24/7 support". One file — products_config.json. The median buyer decides on day zero, on this screen, and it currently describes a file-hosting company.
  • 0.2Fix the lifetime SKU — reprice to 3–4× annual, or retire it. 41% of purchases. The single largest structural cap on LTV. No existing user loses anything.
  • 0.3Delete the two false upgrade bullets. "Created by real astrologers" is free-tier-true; "hundreds of pages" is no longer safely true.
  • 0.4Link the store, and give reports a route. Reports have no route at all — modal-only inside 6 screens. The store has one inbound link. A funnel whose exit is unreachable can't be priced or measured.
  • 0.5Decide the language gate before pushing ISSUE-39. Shipping ungated permanently forecloses charging for localisation.
Horizon 1 The quarter Relationships and time-to-value. 1.1–1.3 are the core bet.
  • 1.1Relationship transits — "what's happening between you two this week". The angle nobody else can match. The engine already treats composite as natal; not an engine build.
  • 1.2A one-word verdict on every pair, backed by the 12 facets underneath. We compute more and conclude less. A dashboard can't be retold; one word gets screenshotted.
  • 1.3Relationship types — friend, family, colleague, partner. 9 of 12 facets are already relationship-neutral. Only the packaging is romantic.
  • 1.4Invite-from-chart flow. 155,361 accounts already hold another person's chart. Largest dormant asset in the product.
  • 1.5Shareable pair card — "Us", not "me". We share only self-charts today.
  • 1.6Fix the cold-arrival landing. 93.2% of share-link visitors bounce under 10s. Do this before 1.5 sends more traffic.
  • 1.7Public-figures database. The fields exist and hold zero rows. Cheapest viral surface in the category; a content job, not engineering.
  • 1.8Promote the synastry wheel above Progressed in the chart dropdown. A practitioner chart currently outranks the one chart a normal person came for.
  • 1.9Surface the comparison to the 72.2% who never make one. Pre-filter and cap — it's O(n²).
  • 1.10Resolve MessagesScreen — foundation or delete. Don't build a second messaging surface beside an unreachable one.
  • 1.11Contextual reading button on the relationship surface. Cheapest link in the app. Also ranked #1 on the FEATURE-LIST.
  • 1.12Refresh the video library. Owned channel, stale content. Production, not engineering.
  • 1.13Per-user event measurement, properly scoped. Blocks all pricing work — and it is not a one-liner. See §5.
Horizon 2 The year New models.
  • 2.1The Coach / Oracle session layer. Full spec already written. The answer to our only real competitive weakness.
  • 2.2The Oracle as a shareable weekly card.
  • 2.3Practitioner marketplace. Largest revenue model in the category, built on an asset competitors can't replicate: 4,011 Astrologers converting at 54%.
  • 2.4Audio — contingent on a hire. The stack already ships. Don't schedule until 1.7 says whether presented content lands.

The one sequencing rule

Fix the revenue shape and ship additive value before subtracting anything. There is no case for scoping a new limit until 0.1–0.4 have shipped and been measured — until then we don't know what this product converts at when its entrance is findable and its paywall describes the actual product. The store rating already moved ~3.78 → ~3.44 on a change that added something.

§4

The one number the roadmap rests on

460,694 accounts; 5.37% have ever paid. One variable dominates everything else, monotonically — how many charts the account holds. Visit frequency spans only ~2.5×, and behavioural segment membership collapses to ~1.00× once charts-held is controlled for.

Ever-paid rate by charts held

Verified against production, 2026-09-07. 460,694 accounts.

1 chart
1.58% · 300,710
2–3
5.92% · 102,069
4–7
13.94% · 37,709
8–15
34.29% · 11,440
16+
54.24% · 8,766

A 34× spread, and it points at two different jobs. The 1 → 2 chart step (1.58% → 5.92%) is the largest lever over the largest population — 300,710 accounts. Separately, ~11,500 accounts hold 8+ charts and have never paid: the highest-intent unconverted pool in the base. That is a conversion play, not an ARPU play — an earlier brief said the segment was near-saturated, and that was the inflated number.

§5

State of the board

33 Open Not started. Includes chart-accuracy reports and a security item.
53 In progress / partial Several are "fixed, committed, not pushed" — done in the tree, not live.
60 Resolved Plus one waiting on an external reply (ISSUE-4).
149 Next free issue № Re-check this immediately before filing — concurrent sessions move it.

Work that exists but isn't live

This is the gap most worth closing this week, because several items are already written. Four commits sit unpushed in astromatrix-nodejs — including the ISSUE-143 tarot recovery (31,507 rows, 8,866 users unblocked) and the ISSUE-144 account-deletion data purge, both compliance-relevant. The Flutter tree holds uncommitted edits to products_config.json and gated_content_widget.dart — those are Horizon 0.1 and 0.3. The website tree holds the Terms of Use fix (ISSUE-148), which gates the pending store-metadata submission.

Note that pushing auto-deploys and restarts production here, so these are decisions, not chores.

§6

Traps — things the docs still get wrong

These are the reasons two documents can disagree and both look authoritative. Each is known and written down somewhere; collected here so you don't have to rediscover them.

01

Everything in docs/analytics/ is pre-correction

Those files still quote conversion inflated ~2.8× and volumes understated 14–44×, plus a retracted "tarot converts worst" framing. five-user-modes.md was corrected; the analytics files were not. FINDINGS-2026-09-11.md Part 1 lists every number to un-believe.

02

Sample levels are not fleet levels

The usage-stats sample covers 16.6% of accounts and skews engaged. Use it to compare segments; never quote a level from it. node scripts/_analytics.js verify re-derives the headline numbers from production in ~2.5 minutes.

03

The reach percentages are due a re-pull

Reports 7.8%, store 0.2%, harmonizer 2.8% — all quoted throughout the FEATURE-LIST, and all exactly the kind of level that moved. The ISSUE-77 instrumentation fix shipped on both platforms 2026-09-09, so a clean post-09-09 measurement is now possible and hasn't been taken.

04

Per-user measurement is mispriced as trivial

It's named as the blocker for most of the monetisation work, and the original "one-liner" estimate was wrong. sendCounter writes to Prometheus — aggregate-only. A uid label across 460,694 accounts is a cardinality explosion. This is an event-store design task.

05

Usage of a hidden feature is not a measure of demand

Reports have no route; the harmonizer has one link; astrocartography's route isn't registered; 8,352 journal prompts were built and never surfaced. Low numbers on any of these mean nothing until they're reachable.

§7

Where to start

  1. FINDINGS-2026-09-11.mdTwenty minutes. The verified baseline and the list of retracted numbers. Everything else assumes it.
  2. competitive-position-2026-09.md §7The roadmap itself — the three horizons above, with the reasoning attached to each item.
  3. FEATURE-LIST.mdThe ranked list and, in the second half, every direct user request with its repeat count. This is where a new ask gets filed.
  4. The fire report's index tableJust the table at the top — 147 rows with a status each. Skip the detail sections unless a specific issue matters.
  5. docs/README.md and docs/product/README.mdThe two folder indexes. Both were stale and were brought current today — every file on disk now appears in one of them.