> ## Documentation Index
> Fetch the complete documentation index at: https://docs.highailabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Execution Plan (Aug 2026 – Jan 2027)

> Week-by-week sprint plan from pre-production to App Store launch and the first 100 paying subscribers.

# Execution Plan — August 2026 to January 2027

<Note>
  **Created:** August 3, 2026 · **Owner:** Founder (solo) · **Horizon:** 26 weeks

  This page is the **week-by-week operating plan**. It supersedes the timeline
  language in [Launch Readiness Overview](/planning/launch-readiness/overview)
  and the phase table in [Roadmap](/planning/roadmap), both of which describe
  *what* ships. This page describes *when* and *in what order*.
</Note>

## The three dates

| Milestone                  | Target            | Definition of done                                                                                                                           |
| -------------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **Production-ready build** | **End of August** | A production-profile build with payments working, notebooks generating, and the hard paywall live — installed and exercised on a real device |
| **Friends & family**       | **September**     | App live in the App Store behind an invite gate; 15–30 real people using it; feedback loop running                                           |
| **Public launch**          | **October**       | Invite gate removed, marketing push begins, first paying strangers                                                                           |

Everything below serves those three dates. If a task does not move one of them,
it is not in this plan.

## Standing decisions this plan assumes

Decided August 3, 2026. See [Pricing Strategy](/planning/pricing/strategy) for
the full model of record.

* **Hard paywall, full price, no trial and no intro offer.** Pro is $12.99/mo or
  $99.99/yr. The point is to learn whether the product is worth full price, not
  to buy conversions with a discount.
* **The website is the free tier.** `thisiswhyimhigh.com` serves 2,525 strains
  publicly. The app does not duplicate a free experience.
* **Guest access in the app is browse-only.** Strain browse, search, detail,
  High Families, music, capped label scanner. Nothing is saved. No AI.
* **Everything personal or AI-powered is Pro.** Stash, orders, collection,
  notebooks, stats, Gmail, imports, dispensaries, rankings, badges.
* **Unsubscribed accounts have 30-day data retention. Lapsed subscribers have
  12 months, read-only.**
* **iOS only.** No Android, no web app, no Safari extension in this window.

## Weekly operating rhythm

One shipping lane per week. The plan collapses if this is not respected.

| Day     | Block                                                      |
| ------- | ---------------------------------------------------------- |
| Mon     | Review last week's metrics; pick the week's single lane    |
| Tue–Thu | Build the lane                                             |
| Fri AM  | TikTok batch (5–7 videos, pipeline-drafted, human-shipped) |
| Fri PM  | Ship, verify, update this page's checkboxes                |

***

# Phase 1 — Production Ready (August, W1–W4)

**Goal:** a production build that takes real money and delivers real value.
**Exit gate:** a sandbox purchase completes, a notebook generates in a
production-profile build, and the paywall is legally compliant.

## W1 — Aug 3: Money plumbing

The longest external lead times start this week. Nothing else matters if these
are not moving.

* [ ] Enroll in the **App Store Small Business Program** (15% vs 30% commission)
* [ ] Complete App Store Connect: **Paid Apps agreement, banking, tax forms**
* [ ] Create the App Store Connect app record (bundle `com.highiq.app`)
* [ ] Create subscription products in **one subscription group** so users can
  switch monthly ↔ annual without double-paying:
  `highiq_pro_monthly` ($12.99), `highiq_pro_yearly` ($99.99)
* [ ] Link App Store Connect ↔ RevenueCat; configure the `pro` entitlement and
  the `default` offering
* [ ] **Google OAuth:** open the Cloud Console, confirm which project owns the
  client behind Clerk's Google connection, and determine exactly what the
  `gmail.readonly` restricted-scope verification requires and whether the
  security assessment can start before App Store listing
* [ ] Retire the `highiq_historical_import` SKU — Historical Import is
  Pro-included, not a separate purchase

<Warning>
  **The restricted-scope assessment is the longest pole in the entire plan.**
  `gmail.readonly` is a Google restricted scope; production use beyond a small
  test-user cap requires OAuth verification plus a security assessment whose
  turnaround is measured in weeks to months. Final approval may require a live
  App Store listing, but do not let that become a reason to start late —
  establish this week which parts can proceed now and start them.
</Warning>

## W2 — Aug 10: Re-tier to the hard paywall

* [ ] `apps/mobile/src/_config/featureFlags.ts` — move to `requiredTier: 'pro'`:
  `stash`, `favorites`, `addStrain`, `collection`, `profile`, `preferences`,
  `rankings`, `badges`, `historicalImport`
* [ ] Confirm guest-only (`requiredAuth: false`): `strainBrowsing`,
  `strainSearch`, `strainDetail`, `highFamily`, `music`, `labelScanner`
* [ ] Update `useAccessPolicy` tests for the new tier map
* [ ] Update `docs/testing/feature-flag-qa-matrix.md`
* [ ] Implement **30-day retention for never-subscribed accounts** (warn at day
  23, export offered) and **12-month read-only retention for lapsed
  subscribers**
* [ ] Verify a guest cannot reach any Pro route by direct deep link

## W3 — Aug 17: The paywall

The highest-stakes screen in the app. `SubscriptionBillingScreen` is a billing
screen; this is a sales screen. Different job, different surface.

* [ ] Build the post-onboarding paywall: value framing, annual pre-selected and
  shown as "\$8.33/month, billed annually", monthly secondary
* [ ] **Apple-required disclosures on the paywall itself** — subscription
  length, price per period, auto-renewal terms, and functional links to
  Terms of Use (EULA) and Privacy Policy
* [ ] **Restore Purchases** control on the paywall, not only in settings
* [ ] Route every Pro-gated surface to this paywall instead of a generic lock
* [ ] Onboarding delivers **one real personal moment before the ask** — a High
  Family result or a label scan, something about *them*
* [ ] Lapsed-subscriber recovery state (data visible, read-only, resubscribe CTA)

<Warning>
  Missing auto-renewal disclosure or a missing Restore Purchases control is one
  of the most common subscription-app rejection reasons. Treat these as
  blocking, not cosmetic.
</Warning>

## W4 — Aug 24: Turn on notebooks and prove the money

* [ ] Set `EXPO_PUBLIC_NOTEBOOK_GENERATION_ACTIONS_ENABLED=true` for the
  production profile; keep `notebookOrderGeneration` and
  `notebookStashGeneration` on, every companion executor off
* [ ] Certify order → notebook → readable result on a real device, including the
  failure states: unknown strains, partial orders, failed research, cancel
  mid-generation, background/foreground, cold reopen
  (see [Notebook Launch Runbook](/planning/notebooks/launch-runbook) Phase 7)
* [ ] **Sandbox purchase → restore → RevenueCat webhook → Convex entitlement
  sync**, recorded as evidence
* [ ] Verify the remote feature-flag kill switch works on a production bundle
  (Convex `featureFlagOverrides` → live within seconds)
* [ ] Revyl smoke to green (last recorded run: 7/8)
* [ ] Sentry alerting configured for production crashes
* [ ] **Build the invite-gate mechanism** (see below)

**Also this month, in the Friday blocks:** TikTok account live, first video
batches shipping, target 20–25 videos by Aug 31. Reddit accounts warming with
comment-only value, zero links.

***

# Phase 2 — Friends & Family (September, W5–W9)

**Goal:** 15–30 real humans use the app; you fix what embarrasses you.
**Exit gate:** no embarrassing gaps remain, and at least one person who is not
obligated to be nice says the notebook was worth money.

## The invite-gate approach

You are releasing to the App Store in September rather than using TestFlight,
because non-technical friends bounce off TestFlight. That works, with rules:

* The app ships **live but gated**: a valid invite code is required to create an
  account. Guest browse stays open so the app is never a blank wall.
* **App Review notes must contain a working invite code** and a seeded
  production reviewer account with Pro granted via a **RevenueCat promotional
  entitlement**. Do not use `+clerk_test` credentials — production ships
  `pk_live_...` keys and reviewers would be unable to sign in.
* Friends & family get Pro via **promotional entitlements**, not a free tier.
  There is no free tier to give them.
* **This is not launch day.** No marketing, no announcement, no press. The app
  being purchasable in September is a distribution mechanism, not a launch.

<Info>
  **The hidden benefit:** submitting in September means the App Review rejection
  cycle happens on a week that does not matter. A first-time cannabis app can
  reasonably expect one rejection round. Absorbing that in September protects
  the October marketing date.
</Info>

## W5 — Aug 31: Submit

* [ ] Screenshots (5–6 frames: track → insights → notebook → database →
  Professor High) and a 15–30s app preview video from the video pipeline
* [ ] App Store metadata: title, subtitle, keyword field
  (keyword research process: `docs/planning/growth/[plan]-growth-marketing-playbook-jul03.md` §6.1)
* [ ] **Age rating 17+**, category Lifestyle
* [ ] App Store privacy labels — must match the actual retention policy
* [ ] Review notes: education/journaling/tracking only, no commerce, no
  dispensary ordering; invite code; reviewer account credentials
* [ ] Support email live and monitored
* [ ] **Submit**

## W6 — Sep 7: Review loop + first invites

* [ ] Respond to any App Review rejection within 24 hours
* [ ] Once approved: invite the first 5 people. Watch them use it in person or
  on a call. Do not coach them. Write down every hesitation.
* [ ] Fix whatever the first 5 stumble on, same week

## W7 — Sep 14: Widen to 15–30

* [ ] Second invite wave
* [ ] Set up the feedback channel (a form, a group chat — anything with a
  persistent record)
* [ ] Daily triage of feedback into: ship now / v1.1 / never

## W8 — Sep 21: Fix and polish

* [ ] Work the feedback list in order of how many people hit it
* [ ] Ship via **EAS Update (OTA)** where possible to avoid review round-trips
* [ ] Confirm at least one full paid journey by someone who is not you:
  purchase → notebook → second session

## W9 — Sep 28: Launch prep

* [ ] **GA4 funnel events, UTM convention, App Store campaign links, RevenueCat
  attribution** — all live and verified before traffic arrives
* [ ] Email provider live with a 5-email welcome sequence (you already have
  addresses from Apple/Google sign-in)
* [ ] Launch content batch: 15–20 TikTok videos queued
* [ ] Reddit accounts have karma and comment history in 2–3 subs
* [ ] Decide the invite-gate removal date

***

# Phase 3 — Public Launch (October, W10–W13)

**Goal:** the invite gate comes off and strangers start paying.
**Exit gate:** 10+ paying subscribers who have never met you.

## W10 — Oct 5: Remove the gate

* [ ] Flip the invite requirement off (**remote feature flag**, not an app
  release)
* [ ] Verify the full cold-start path: install → guest browse → onboarding →
  paywall → purchase → notebook
* [ ] Launch email to the list
* [ ] Launch video series across TikTok / Reels / Shorts
* [ ] Respond to **every** App Store review in week one

## W11 — Oct 12: Read the funnel

* [ ] First honest read on install → account → paywall view → purchase
* [ ] First Reddit data drop (earned by six weeks of warming)
* [ ] Triage refund requests and 1-star reviews as product signal

## W12 — Oct 19: First creator collabs

* [ ] 2–3 micro-creator collabs (gifted Pro, stitch/duet — no payments)
* [ ] Double down on whichever TikTok hook format is winning

## W13 — Oct 26: First monthly review

* [ ] Kill-or-double-down call per channel by time-CAC
* [ ] **Do not touch pricing yet** — see the decision rule below

***

# Phase 4 — Learn and Retain (November, W14–W18)

**Goal:** stop the leak before pouring in more traffic.

## W14–W15 — Nov 2 / Nov 9: v1.1 — Push notifications

Push moves here rather than v1.0 deliberately: a permission prompt fired at the
wrong moment permanently caps your opt-in rate, and there is no content strategy
behind it yet. The weekly email digest covers the retention job in the meantime.

* [ ] APNs key in App Store Connect; `expo-notifications` wired
* [ ] Permission ask **after a value moment**, never on first open
* [ ] Three notification types only: notebook ready, weekly stash digest,
  restock prediction
* [ ] Target ≥50% opt-in

## W16 — Nov 16: v1.1 — Share cards

* [ ] Ship the deterministic share card — your only built-in viral mechanism
* [ ] Target shares/WAU ≥5%

## W17–W18 — Nov 23 / Nov 30: The first pricing decision

Four to six weeks of real purchase data now exist. Read them in this order:

| Signal                                    | Meaning                | Response                                  |
| ----------------------------------------- | ---------------------- | ----------------------------------------- |
| Paywall view → purchase under \~2%        | Paywall or positioning | Rewrite the paywall, not the price        |
| Purchase → notebook generated under \~70% | Value not reachable    | Fix onboarding, not the price             |
| Month-1 churn above \~15%                 | Value does not repeat  | Push annual harder; ship retention        |
| Repeated "love it, too expensive"         | Real price resistance  | **Now** consider \$9.99 or an intro offer |

Only the last row is a pricing problem. The first three look like pricing
problems and are not.

***

# Phase 5 — Compound (December–January, W19–W26)

**Goal:** 100 paying subscribers and a repeatable acquisition loop.

* **W19–W20 (Dec 7 / Dec 14):** Gmail sync + Historical Import go live the day
  Google verification clears — remote flag flip, no App Store release. If
  verification has not cleared, escalate rather than wait.
* **W21–W22 (Dec 21 / Dec 28):** Holiday content batch; light build weeks. Rest
  is a scheduled item, not a failure.
* **W23–W24 (Jan 4 / Jan 11):** v1.2 — the highest-signal feature request from
  90 days of real users. Do not decide this now.
* **W25–W26 (Jan 18 / Jan 25):** Six-month review. Re-plan the next horizon
  against actual numbers.

## Milestone targets

| Date    | Installs (cumulative) |     Paying | MRR (SBP net) |
| ------- | --------------------: | ---------: | ------------: |
| End Sep |        \~30 (invited) | 0 (comped) |           \$0 |
| End Oct |                   300 |         10 |       \~\$110 |
| End Nov |                 1,000 |         30 |       \~\$330 |
| End Jan |                 3,000 |        100 |     \~\$1,100 |

<Info>
  **100 paying subscribers by January is the real goal, not 1,000.** With a hard
  paywall at full price, install→paid of 1–3% is the honest expectation, so
  1,000 subscribers implies 35,000–100,000 installs. That is a 12–18 month
  number. At 100 subscribers you can still talk to every single one, which is
  worth more at this stage than the revenue.
</Info>

***

## What is deliberately not in this plan

| Item                                 | Why                                                                                | Earliest    |
| ------------------------------------ | ---------------------------------------------------------------------------------- | ----------- |
| Shopping agent, menu extraction      | Commerce dependency; also the highest App Review risk in the catalog               | v3.0        |
| Safari extension                     | Separate App Store review, separate rejection surface                              | v2.0        |
| Professor High in-app chat           | Personal-data tooling needs tightening; stays a *brand* asset on TikTok regardless | v5.0        |
| Notebook media (video/audio/stories) | Rights, privacy, cost, and quality gates all open                                  | Post-launch |
| Studio tier                          | Wait until AI media cost and support load are known                                | v4.0        |
| Android                              | Founder decision; do not reopen under launch adrenaline                            | —           |
| Paid ads                             | Founder decision, independent of platform policy                                   | Never       |

## Pre-charge checklist

Do not accept a real dollar until every line is true:

* [ ] Sandbox purchase, restore, and webhook→entitlement sync all proven
* [ ] Monthly and annual live in the **same subscription group**
* [ ] Paywall shows price, period, auto-renewal terms, EULA and Privacy links
* [ ] Restore Purchases reachable from the paywall
* [ ] Account deletion reachable in-app
* [ ] Data export works and includes notebook records
* [ ] Retention policy disclosed in privacy policy **and** App Store privacy labels
* [ ] Support email live and monitored
* [ ] Sentry alerting on production crashes
* [ ] A notebook generates end-to-end in a production-profile build
* [ ] At least one person who is not you has completed the full paid journey

## Related

* [Pricing Strategy](/planning/pricing/strategy) — the model of record
* [Launch Readiness Overview](/planning/launch-readiness/overview)
* [Feature Readiness Matrix](/planning/launch-readiness/feature-matrix)
* [Certification Gates](/planning/launch-readiness/certification-gates)
* [Notebook Launch Runbook](/planning/notebooks/launch-runbook)
