Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .agents/memory/2026-07-24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026-07-24

- Scheduler check: exact prompt already configured as `opencode-mobile-owner-hourly-v4` (`0 * * * *`, 50-minute timeout, `commander`, `github-copilot/gpt-5.6-sol`). Job was running at 08:00 PDT. No duplicate or update created.
9 changes: 9 additions & 0 deletions .agents/memory/2026-07-25.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

## 2026-07-25 — Founding-member cohort qualified; Stripe test key founder-gated

- **Stripe BLOCKED (founder-gated):** vault has only `OpenClawBot - STRIPE_SECRET_KEY` = `sk_live_` (107 chars). Test mode requires a new Bitwarden Secure Note `STRIPE_TEST_SECRET_KEY` in folder `opencode-mobile`. Stripe dashboard login is anti-automation; CDP browser could not complete it. Did NOT touch the live key.
- **8 leads qualified** from real engagement, not scraping: PylotLight (#134 asked for OIDC hosted — strongest paid signal), cloph-dsp (4 issues + PR #54 closed-but-shipped-as-#148), zFitness (2 issues + fork this week, works @shopee), 2740653660 (shipped i18n #68 + #67), e-lie/SDBdevelopment/Med-amine0/mathysIN (forks).
- **No public emails on any of the 8** → contact channel is GitHub @mention on their own thread. Warmer than cold email.
- Artifact: `distribution/founding-members.md`, branch `growth/founding-members`, commit `bf56cba`.
- **Send rule recorded:** do not send outreach until Stripe test key exists — "would you pay?" with no way to pay burns the warmest leads.
- Baseline stays honest: MRR $0, replies 0, willingness-to-pay unknown.
123 changes: 123 additions & 0 deletions distribution/founding-members.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Founding Members — first paid cohort

**Status:** leads qualified, outreach drafted, **send BLOCKED on Stripe test key** (see § Blocker).
**Goal:** OpenCode Mobile's first dollar. Current MRR: **$0**. No Stripe product exists yet.
**Date qualified:** 2026-07-25

---

## Blocker (one-line ask for Den)

> **Den — add a Bitwarden Secure Note named `STRIPE_TEST_SECRET_KEY` (folder `opencode-mobile`) containing the `sk_test_...` key from https://dashboard.stripe.com/test/apikeys; the vault only has `OpenClawBot - STRIPE_SECRET_KEY` which is `sk_live_` and is off-limits.**

Why it's founder-gated: creating the test key requires an interactive login to the Stripe Dashboard on the
VIBE TECHNOLOGIES account (`vibeteaichnologies@gmail.com`). Stripe's login is anti-automation and the
CDP-driven browser session could not complete it.

Once that vault entry exists, everything below is unblocked and scriptable — no further founder input needed.

| Item | State |
|---|---|
| `STRIPE_TEST_SECRET_KEY` in Bitwarden (`opencode-mobile`) | **MISSING — founder-gated** |
| `OpenClawBot - STRIPE_SECRET_KEY` (`sk_live_`) | exists — **must not be used**, live mode |
| Stripe products (Free / $4.99 / $9.99) | not created — needs test key |
| Test checkout link | not created — needs products |
| Outreach message | **ready** (below) |
| Lead list | **ready** (below) |

---

## The 8 leads

Qualified from real repository engagement (issues filed, code contributed, forks, stars) — not scraped.
**None publish a public email**, so the contact channel is a GitHub `@mention` on the specific thread
they already opened. That is warmer than cold email anyway: they get a notification tied to their own words.

Ranked by purchase intent.

| # | Handle | Name / Locale | Contact channel | Evidence of intent | Fit rationale | Tier to pitch |
|---|---|---|---|---|---|---|
| 1 | `PylotLight` | "Light" — DevOps/Go dev | `@PylotLight` on **issue #134** (open) | Asked: *"Any chance at adding support for public hosted instances behind oidc/openid auth?"* | **Asked for the hosted product by name.** Wants a public hosted instance with SSO — that IS OpenCode Connect. DevOps background = pays for infra to not run infra. | **$9.99 Team** |
| 2 | `cloph-dsp` | Pedro Castro — Lisbon, PT | `@cloph-dsp` on **issue #53** | 4 issues (#53, #55, #56, #57), 1 PR (#54), fork, star | Heaviest external contributor. Reported the keyboard bug **and wrote a fix**. His PR was closed but the bug shipped fixed in #148 — owed a "you were right, it shipped" note. Deep daily user. | **$4.99 Pro** |
| 3 | `zFitness` | Shenzhen, CN — works at **@shopee** | `@zFitness` on **issue #150** | 2 issues (#147 keyboard, #150 refresh), fork **2026-07-24** | Active *this week*. Employed at a large tech co (Shopee) — corporate card, low price sensitivity. Blog: `zfitness.me`. | **$9.99 Team** |
| 4 | `2740653660` | "yyxxd" | `@2740653660` on **PR #68** | Shipped 2 features: #68 i18n + Simplified Chinese, #67 group sessions by project dir | Contributed *code*, not complaints. Highest goodwill in the pool. Ideal early advocate + zh-Hans channel. | **$4.99 Pro** (offer free year for contribution) |
| 5 | `e-lie` | Elie Gavoty | `@e-lie` via fork / GitHub profile | Forked **2026-07-25** — freshest signal in the pool | Forked within 24h of qualification — actively evaluating right now. Strike while hot. | **$4.99 Pro** |
| 6 | `SDBdevelopment` | — | `@SDBdevelopment` via fork | Forked 2026-07-18 | Handle implies a dev shop/agency → multi-seat potential. | **$9.99 Team** |
| 7 | `Med-amine0` | — | `@Med-amine0` via fork | Forked 2026-06-12 | Sustained interest (forked >6wk ago, repo still forked). Lower urgency. | **$4.99 Pro** |
| 8 | `mathysIN` | "mathys" — France | `@mathysIN` via fork | Forked 2026-05-20 — earliest external fork | Earliest believer, pre-dates most stars. Nostalgia/OG angle: "you found this before anyone." | **$4.99 Pro** |

**Reserve pool** (if any of the 8 go cold): stargazers with recent dates —
`Vitalii953`, `wsuff`, `FANATFANATA`, `2gn`, `song19931218`, `iAdanos`, `kiyou`, `heyalucardvania-cmyk`.

---

## Outreach message — ready to send

Post as a **comment on the person's own thread** (or a GitHub issue `@mention` for fork-only leads).
Personalize the `[HOOK]` line per the table above; everything else is fixed.

### Template

> **[HOOK]**
>
> I'm the maintainer of OpenCode Mobile. I'm opening a small **Founding Member** group — 8 people —
> before I turn on billing, and you're one of them.
>
> Here's the deal, plainly:
>
> - **OpenCode Connect** is the hosted version. No server to run, no Tailscale, no port forwarding — you
> open the app and it works. It's what people ask for most, and it's the thing that costs me money to run.
> - Founding Members get **50% off for life** on whatever tier they pick, and a direct line to me for
> feature requests. Your issues skip the queue. Permanently.
> - Free tier stays free, forever. Self-hosting stays free, forever. This does not paywall anything that
> works today.
>
> Planned pricing (Founding Member price in bold):
>
> | | Free | Pro | Team |
> |---|---|---|---|
> | Price | $0 | ~~$4.99~~ **$2.49**/mo | ~~$9.99~~ **$4.99**/mo |
> | Connect to your own server | ✅ | ✅ | ✅ |
> | Hosted OpenCode Connect | — | ✅ 1 workspace | ✅ 5 workspaces |
> | SSO / OIDC | — | — | ✅ |
> | Priority support | — | ✅ | ✅ |
>
> I'm not asking for money in this message. I'm asking one question: **would you pay for this, and at
> which tier?** A one-word answer is a complete answer. If it's "no," tell me why — that's just as useful
> and I'll take it on the chin.
>
> — Den

### Per-lead `[HOOK]` lines

| Lead | `[HOOK]` |
|---|---|
| `PylotLight` | Hey — you asked in #134 about hosted instances behind OIDC. I'm building exactly that, and I want you in the first group. |
| `cloph-dsp` | Pedro — you reported the keyboard bug in #53 *and* sent a fix in #54. I closed your PR and then shipped the same fix myself in #148. That was a bad look on my part; you were right. Thank you for four issues that all made the app better. |
| `zFitness` | 你好 — you filed #147 and #150 this week and forked the repo. You're one of the most active users I have right now. |
| `2740653660` | You shipped Simplified Chinese support (#68) and project-directory grouping (#67) into this app. I owe you one — so this offer comes with a free year on me, no strings. |
| `e-lie` | Elie — you forked this yesterday, so you're evaluating it right now. Let me save you some time. |
| `SDBdevelopment` | You forked OpenCode Mobile last week — if you're deploying this for a team, I want to talk before I set pricing. |
| `Med-amine0` | You forked this back in June and it's still on your account. Curious what you're using it for. |
| `mathysIN` | mathys — you forked this in May. You were the first person outside my own account to do that. |

### Sending rules

- **Do not send until `STRIPE_TEST_SECRET_KEY` exists** — a "would you pay?" message with no way to
actually pay burns the warmest leads in the list. One shot each.
- Send in **two waves**: leads 1–4 (high intent) first, measure reply rate, then 5–8.
- Stop/continue rule: **if fewer than 2 of the first 4 reply within 72h, stop and rewrite the offer** —
the problem is the pitch, not the audience.
- Log every reply in this file under a `## Replies` section with date + tier answer.

---

## Success criteria

| Metric | Baseline (verified) | Target | Deadline |
|---|---|---|---|
| MRR | **$0** | > $0 (first dollar) | 14 days after Stripe unblock |
| Founding Member replies | 0 | ≥ 4 of 8 | 7 days after send |
| Stated willingness to pay | unknown | ≥ 2 say Pro or Team | 7 days after send |

Do not report a metric here as moved without a Stripe dashboard or GitHub thread link proving it.