Skip to main content

Execution Plan — August 2026 to January 2027

Created: August 3, 2026 · Owner: Founder (solo) · Horizon: 26 weeksThis page is the week-by-week operating plan. It supersedes the timeline language in Launch Readiness Overview and the phase table in Roadmap, both of which describe what ships. This page describes when and in what order.

The three dates

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 for the full model of record.
  • Hard paywall, full price, no trial and no intro offer. Pro is 12.99/moor12.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.

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),highiqproyearly(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
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.

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)
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.

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 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.
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.

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: 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

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.

What is deliberately not in this plan

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