Go-to-market spine. Launch sequence, business model, content strategy, support + abuse policy, success metrics. Reads after
MANIFESTO.md. The first year, plotted.
Status: locked 2026-04-27 (Phase A pre-launch). v1 GTM plan. Bar: 10/10 across vision + craft + go-to-market. No category falls below A.
1. The plan in one paragraph
Phase A ships single-user (Kevin’s Ensemble dogfoods). Phases B–C deepen the experience while building publicly visible content (showcase pages, the orchestra Studio, the Canvas map) on Kevin’s Ensemble — so by the time we open multi-tenancy, there’s already proof of what it looks like at peak. Phase D opens via a curated 25-person closed beta of hand-picked makers seeded across creative domains. Phase E + open registration follow once the beta is dialed. The first public launch moment is Show HN + Product Hunt + a blog-ready manifesto post, timed when there are 100 active Ensembles with public Studios and the showcase feed has visible quality. Targets: 100 in beta by launch month, 1,000 paid in year one, 10,000 active by year two.
2. Launch sequence
Six waves, sequenced over ~9 months from now. Each wave is gated by a quality bar, not a date.
Wave 0 — Single-user dogfood (Phases A–C, ~6 weeks)
Goal: Phases A, B, C ship on Kevin’s Ensemble. The Studio is dialed. The Canvas map looks great. Showcase pages are ready to share.
Marketing during this wave:
- Zero. No tweets, no waitlist page, no announcements.
- Dogfood with Kevin and 1–2 trusted reviewers (Owen, possibly an early friend).
- Internal notes captured at docs/playtest-notes.md.
Exit criteria:
- Kevin has used his own Studio Room daily for 2+ weeks.
- 5 built-in presets are all dialed (Apple-quality, no template-feeling).
- Sprite library has ~85–100 sprites total (per PRODUCT_SPEC.md §3.3 — a deliberate quality-over-quantity step down from the morning spec’s 80+200 split).
- Claude chat in edit mode produces useful output 80%+ of the time.
- Showcase pages exist for at least 4 of Kevin’s 8 chats.
- Map tab works with a real relates_to graph.
Wave 1 — Stealth waitlist (~2 weeks)
Goal: Build a 200-person waitlist of the right people without ever publicly announcing.
Marketing:
- Single landing page at ensemble.tld with: hero (the collective showcase grid in seed form — Kevin’s own canvases plus 4–8 placeholder featured slots filled with the procedurally-generated canvases of pre-onboarded Wave-0 friends, animating live), the manifesto (essay-form, not feature list), a “Get notified” form. No screenshots of features. No feature list. (Wave 1 is pre-Chunk 5; this seed grid is the v1.0 collective-showcase grid in its earliest populated state, not a separate manifesto-only page.)
- Page is shared only by Kevin in personal DMs to people whose work he’d want on the platform. Zero broadcast.
- Each invite is personal: “I made this with you in mind because of [specific work]. Want early access?”
- Goal: 200 hand-picked names, with notes on each (“indie iOS dev, ships with Claude,” “music producer, big Substack”).
Exit criteria: - 200 named waitlist entries. - 10 of those have replied with substantive interest (not just “sign me up”). - Kevin has written follow-up notes to all 200 explaining what’s next.
Wave 2 — Closed beta (Phase D, 25 people, ~6 weeks)
Goal: First 25 multi-tenant users. Each personally invited. They become the showcase + feed seed.
Marketing: - Personal invitations to the 25 highest-fit waitlisters (drawn from the personas in the manifesto §6). - Each invitation includes: their handle reserved, a “first you should…” onboarding doc, a private Slack/Discord for beta feedback. - Phase E (feed) ships during this wave. Beta members are the first feed contributors. Their Studios + showcase pages seed the feed with high quality. - Feedback loop: weekly beta-only office hours over Zoom (Kevin host, ~30 min, 6–8 people each).
Exit criteria: - 25 active users (defined: at least one save in the Studio, at least one public showcase page). - Feed has ~200 events. - Studio reliability >99% (no data loss). - Claude integration works for everyone (no rate-limit bottlenecks). - Net Promoter Score from beta members: 8.5+.
Wave 3 — Soft public launch (~4 weeks)
Goal: First 250 public signups. The platform handles itself without Kevin manually intervening.
Marketing:
- The remaining 175 waitlisters get invited.
- The blog (at ensemble.tld/journal) goes live with the manifesto + 2–3 case studies of beta users (with their permission).
- Twitter / Bluesky presence opens — only sharing beta-user work, not “buy our product.”
- Are.na block published at are.na/ensemble.
- The waitlist landing page becomes a public homepage.
Exit criteria: - 250 signups. - 100 active (defined: 1+ save in Studio + 1+ public showcase). - Daily active users at ~30% of total (high engagement signal). - Support volume <2 tickets/day (sustainable).
Wave 4 — Show HN + Product Hunt (the launch moment)
Goal: The “we exist” moment. Done deliberately, once everything is ready.
Timing: when 100+ active Ensembles have public Studios visible AND the feed has 1000+ events AND 10+ stand-out showcase pages. Not before. Could be 3–6 months after Wave 3 starts.
Surface: - Show HN post linking to the live homepage + a curated showcase URL. - Product Hunt with a one-image hero (animated GIF of Kevin’s orchestra Studio). - A blog post on the day-of: “Building Ensemble: a year of solo making with Claude” — the founder’s-letter format. 3000-5000 words. Personal, specific, not promotional. - The launch is not the moment we ask for money. We ask for sign-ups, feedback, and curiosity.
Goal: 2,000 signups in 7 days. 500 active. Featured on PH #1–5 product of the day.
Wave 5 — Steady-state growth
Goal: Year 1 close at 1,000 paid users (~10% conversion of 10k signups).
Mechanisms: - Showcase pages naturally rank for project-name SEO. - Studio Rooms are screenshot-able + shareable on Twitter / Bluesky / Are.na. - Each public profile is a referral surface (people see what others built and want to try it). - Featured weekly: one outstanding new Ensemble member highlighted on the homepage + in the feed. - No paid acquisition in year 1.
3. The first 10 hand-picked beta users
Drawn from the personas in the Manifesto §6. These are TARGETS, not commitments. The actual roster is built during Wave 1.
| # | Persona | Why they’re #1–#10 |
|---|---|---|
| 1 | Indie musician with multi-platform release strategy | Brings non-developer audience signal. The Studio puts Bandcamp + Substack + YouTube + Patreon in one walkable place. |
| 2 | Indie game developer with portfolio of releases | Click-to-launch is the canonical demo: arcade cabinets that boot real games. Power-user of Studio sprite library. |
| 3 | Newsletter writer with adjacent podcast + recommendations | Showcase pages + the bookshelf-as-essay-portfolio pattern. Tests long-form click-to-read. |
| 4 | Product designer building personal moodboard practice | Most invested in Studio sprite-authoring depth. Tests the creative upper bound. |
| 5 | Illustrator with commissions + tutorials + Patreon | Studio-as-gallery. Tests hover reveals + click-to-read at scale. |
| 6 | Two-person creative agency (small business case) | Validates pitch-deck-as-Studio framing. Tests multi-author Rooms / Canvas curation. |
| 7 | Indie SaaS founder running personal + company brand | Validates the dual-Ensemble (Pro tier 3 Ensembles) flow. |
| 8 | Educator / course creator | Showcase as portfolio + landing page. Tests the public-facing surface. |
| 9 | Local creative business (restaurant, shop, studio) | Validates beyond-software audience. Studio-as-storefront with chalkboard-menu sprites. |
| 10 | Multi-disciplinary creator (writes + makes + ships) | Tests the canvas-as-snapshot mechanic — three Canvas slots match three disciplines. |
Each gets: - Their handle reserved. - A 1-on-1 onboarding session (30 min over Zoom). - A personalized welcome note in the feed (Kevin’s message visible to them). - Direct Slack/Discord channel. - Free Pro tier for life (the first 25 beta users specifically).
4. Content strategy
What we publish; what we don’t.
4.1 The blog (ensemble.tld/journal)
Cadence: 2 posts/month. 1500–4000 words each. No sponsored content, no roundups, no listicles.
| Category | Cadence | Tone |
|---|---|---|
| Founder’s letters | Monthly | Personal, narrative, what’s been built and why. |
| Beta-user case studies (with permission) | Monthly | Long-form portrait of one Ensemble member’s work. |
| Design diaries | Quarterly | The craft behind a specific decision (e.g. “Why pixel sprites in vector rooms”). |
| Manifesto-class essays | Rare, 1–2/year | Big arguments. The “why this exists” pieces. |
Reference style: The Browser Company’s Notes app, Stripe’s blog circa 2018, Are.na’s editorial.
4.2 Social
- Twitter / Bluesky — share beta-user work. Quote-amplify, never broadcast our own. Personal voice, not corporate.
- Are.na — block called “Ensemble.” Curate showcase URLs from the platform + relevant outside references that show the genre.
- Mastodon — minimal presence. Mirror Bluesky.
- LinkedIn — none. The audience isn’t there for this product.
- Newsletter — Substack at
ensemble.substack.com. Two posts/month, mostly mirroring the blog. CTA: try the live thing.
4.3 What we don’t do
- No SEO-bait roundup posts.
- No “X tips for using AI” listicles.
- No comparison posts (“Ensemble vs. Replit”).
- No paid social ads (year 1).
- No press releases.
- No webinars.
- No “AI tool of the day” tweets.
The discipline is: everything we publish is something a thoughtful reader would want to read on its own merit, not because it’s strategically positioned content.
5. Business model
5.1 Free tier
| Free includes |
|---|
| 1 Ensemble per account |
| Unlimited chats / projects within that Ensemble |
| 1 editable Studio Room (per locked decision: free = 1 Room with 3 Canvas slots, not N Rooms) |
| 3 published Canvas slots (the unit visitors see in the public Ensemble world; free users can swap which canvas is published anytime). Pro tier (§5.2) lifts the slot cap to unlimited and unlocks unlimited editable Rooms. |
| Procedural-fill first canvas (auto-seeded from signup answers + GitHub if connected; never blank) |
| All built-in presets + sprite library (core 80) |
| Showcase pages (up to 5 public) |
| Map tab + Canvas map |
| Feed (read + post) |
| Bring-your-own Anthropic API key (no platform-provided allotment when key is linked; otherwise 5 calls/day, 30/month from platform) |
| Standard support (best-effort, ≤7-day response) |
5.1.1 Theme customization (every tier — locked 2026-04-29 evening)
Two-axis theme system available on every paid + free account from v1.0:
- Primary color — pick from 21 themes (the bronze-on-ink default plus 20 alternates spanning warm-to-cool, see
ART_DIRECTION.md§2.2). - Secondary accent — optional override for highlights / CTAs; defaults to primary’s accent.
- Mode — Light / Dark / Auto (Auto follows
prefers-color-scheme).
Combined with BYOK, “pick your color, bring your key” is the v1.0
free-tier mechanic — both customisation surfaces are unlocked at
signup. See PRODUCT_SPEC.md §3.5
and CHUNK_PREFS_API_CONTRACT.md for
the full schema.
5.2 Paid tier — “Studio Pro”
Price: $12/month or $108/year (25% annual discount). Per individual user.
| Pro adds |
|---|
| 3 Ensembles per account (run multiple workspaces) |
| Unlimited editable Studio Rooms |
| Unlimited published Canvas slots (free has 3; Pro has no cap on how many canvases you can publish to the Ensemble world) |
Extended sprite library (community catalog access + post-launch Pro-only sprite drops; v1.0 ships with the ~85–100 core set per PRODUCT_SPEC.md §3.3) |
| Unlimited public showcase pages |
| Hosted Claude allotment: 500 prompts/month from platform key + unlimited via BYOK |
| Pro-only sound packs (extended ambient + action library) |
| Priority support (≤24-hour response, weekdays) |
| Verified profile badge (after 30 days of paid status) |
| Early access to new presets + components |
| Export full data anytime (already in free tier; promoted on Pro) |
Why $12/month: sits below the psychological “premium subscription” threshold ($15+) but above the “throw-away” threshold ($5). Comparable to Notion ($10), Things 3 (one-time $50, ~$1/month over 4 years), Are.na ($5–$25/yr by tier), Glasp ($10/mo). $108/yr matches the “indie maker $9/month” sweet spot.
Hosted Claude allotment: 500 prompts/month covers 80% of users at average usage. Heavy users hit the cap and either upgrade to add-on packs ($5 / 500 additional) or revert to bring-your-own-key. Cost to us at sonnet 4.7 pricing: ~$2/user/month gross, ~$1/user net after API discounts at scale. Margin: $11/user/month at the $12 tier.
5.3 Team tier (Phase F+)
For organizations using Ensemble: $40/user/month with 5 users included ($200 base), shared workspaces, collaborative Studio editing, admin controls, SSO. Not a Phase A concern; placeholder so we don’t paint ourselves in.
5.4 What we never charge for
- Auth.
- Basic dashboard usage.
- Showcase pages on free tier (within limits).
- Reading the feed.
- Switching plans down (no penalty).
- Procedural empty-state fill. Every signup gets a populated first canvas regardless of tier. The world feels lived-in for everyone; that’s a public good, not a paywall.
5.5 Refund policy
30-day no-questions-asked. Full refund on any paid plan within first 30 days. Pro-rated refund anytime for annual plans (mature operations move).
6. Marketing surfaces
The platform itself is the strongest marketing surface. Each of these is operational from Phase D onward:
6.1 Public profiles
ensemble.tld/<handle> — the user’s public profile page, showing:
- Their Ensemble’s Studio Room (live, animated, theme-applied).
- Their public showcase pages.
- Their recent feed events.
- A “Made with Ensemble” badge linking back to the homepage.
Every member is a referral link. Every showcase URL surfaces the platform.
6.2 The collective showcase at homepage hero
The homepage (/index.html) shows the collective showcase grid — a beautiful static grid of canvases from across the community (per PRODUCT_SPEC.md §3.6.6). Pagination, light filtering (newest / featured / random), click any canvas to fly into it. Kevin’s own Studio appears on the grid as one canvas among many — featured by curation, not by being the homepage. When you visit ensemble.tld, you see “the work everyone created together,” not a stock illustration and not a single creator’s Studio.
6.3 Showcase URL embeds
Every public showcase has og:image + open-graph metadata so links shared on Twitter / Bluesky / iMessage render as a rich card with the project’s pie chart, name, phase, and accent color. Free passive marketing.
6.4 Curated weekly highlight
Every Friday at 10am ET: a single Ensemble member featured on the homepage above the fold. Featured member gets a designed badge in the feed + 1k–10k impressions. Earned distribution.
6.5 Genre tags + discovery
Public Ensembles can self-tag with primary genre (music / writing / design / dev / education / research / other). The Discover tab in the feed surfaces by genre. Members find each other within their domain.
7. Safety + trust policy
What we do when bad things happen.
7.1 Content policy
Public showcase pages, Studio Rooms, and feed posts must: - Not violate copyright (especially for sprite-authoring outputs — Claude SVG generations are flagged for derivative-works risk). - Not contain hate speech, harassment, or content targeting individuals. - Not contain CSAM or content sexualizing minors. - Not promote violence or self-harm. - Not impersonate other people or organizations. - Not contain malware or attempt to compromise other users’ browsers.
Reports go to a triage queue. SLA for first response: - Critical (CSAM, malware, doxing): immediate action, content removed within 1 hour, account suspended pending review. - High (harassment, hate speech): action within 24 hours. - Medium (copyright, low-confidence rule violation): action within 72 hours. - Low (style, taste, preference): no action; reported to the user.
7.2 Reporting flow
Every public surface has a Report link in the footer. Reporters describe the issue + cite the offending element. Reports land in a single inbox (initially Kevin; later, a small moderation rotation).
Three actions available to the moderator: 1. No action (with rationale logged for audit). 2. Hide (content unpublished but recoverable; user notified). 3. Remove + suspend (content gone permanently; account suspended pending appeal).
Appeals via email; reviewed within 72 hours.
7.3 Data retention + deletion
- Free / paid users: data retained as long as the account is active.
- Suspended accounts: data retained for 30 days; user can export during this window.
- Deleted accounts: user-initiated deletion hard-deletes within 30 days (for backup recovery), unrecoverable after.
- Reported / removed content: kept in audit log for 1 year, otherwise deleted.
7.4 Privacy-by-default
Restated from the architecture doc: - Every Studio Room is private until explicitly published. - No third-party scripts. - No analytics on user content. - User audio / video / images are user property; never used for training.
7.5 Audit log
Every state-changing action (publish, unpublish, content removal, account suspension, refund) is logged to audit-log/<date>.jsonl with full context. Logs retained for 1 year. Available to user on request (their own actions only).
8. Support
8.1 Channels
- In-app “Need help?” link in Settings. Shows: FAQ → Email → Discord (if subscribed).
- Email:
support@ensemble.tld. SLA: ≤7 days free, ≤24 hours paid. - Discord: invite-only for Pro subscribers. Real-time chat with Kevin + future support team. ~1k users at year 1 = manageable for one person.
- Status page:
status.ensemble.tld. Auto-updated by uptime monitor.
8.2 FAQ
Maintained at docs/faq.md (in-product) and ensemble.tld/help (public). Five categories:
- Getting started (10–15 questions)
- Studio (10 questions)
- Privacy + security (5 questions)
- Billing + plans (5 questions)
- Troubleshooting (10 questions)
8.3 Issue templates
Three intake forms: - Bug report: structured, includes auto-collected version + browser + last-action info (with user consent). - Feature request: free-form, with category tags. - Account / billing: priority routed to Kevin.
8.4 Response posture
Tone matches the product: direct, confident, terse. No corporate-support-speak.
| Don’t | Do |
|---|---|
| “Thank you for reaching out!” | “Hey [name] — saw the report.” |
| “We apologize for any inconvenience.” | “That’s a bug. Fixing now.” |
| “Please bear with us.” | “Will land within 24h. Will reply when shipped.” |
| Form-letter responses. | Specific, named, accountable. |
9. Success metrics
What we track. What we ignore.
9.1 The four metrics
| # | Metric | Why | Target year 1 |
|---|---|---|---|
| 1 | Active Ensembles (=user has saved their Studio in last 30 days) | The truest “they care” signal | 1,000 |
| 2 | Showcase pages published | Cross-platform visibility | 2,500 |
| 3 | Paid conversion rate (active → paid) | Sustainability | 10% |
| 4 | Net Promoter Score | Quality | ≥50 |
These are the only metrics that get reviewed weekly. Everything else is operational color.
9.2 What we don’t optimize for
- DAU/MAU ratio. Ensemble is for daily-but-considered use; not for habit-loop engagement.
- Time-on-site. We’d rather you spend 20 minutes a day in the Studio than 4 hours scrolling the feed.
- Click-through rates on emails / notifications.
- Viral coefficient. We grow on quality, not virality.
- Total signup count. Active users matter; sign-ups don’t.
10. The first year — month-by-month
Month 1 (now → Phase A ship)
- Phase A built (Studio v1).
- Kevin dogfoods.
- Manifesto + ART_DIRECTION + ARCHITECTURE + PRODUCT_SPEC docs final.
- Internal-only.
Month 2
- Phase B (Map tab) built.
- Phase C (Showcase pages) built.
- Kevin’s 8 chats all have showcase pages live.
- Internal-only still.
Month 3
- Quality bar review against the v1 ship list.
- Stealth waitlist landing page live (Wave 1).
- Hand-pick + invite 200 to waitlist.
Months 4–5
- Phase D infrastructure built (multi-tenancy + auth).
- 25 closed beta invites sent (Wave 2).
- Phase E (feed) built during this period.
- Weekly beta office hours.
Months 6–7
- Beta dialed.
- Soft public launch (Wave 3): waitlist opens.
- Blog goes live with founder’s letter + 2 case studies.
- Twitter / Bluesky / Are.na presence opens.
Months 8–10
- 100+ active users sustained.
- 10+ standout showcase pages.
- Wave 4 prep: write the manifesto-class launch post.
Month 11
- Show HN + Product Hunt launch (Wave 4).
- Target: 2k signups in launch week, 500 active by EOM.
Month 12
- Steady-state growth.
- Year-end review: 1,000 paid, 10,000 signups, NPS ≥50.
- Plan year 2 (Phase F + team tier + maybe a desktop app).
11. What this GTM plan is not
- It is not the manifesto — see
MANIFESTO.md. - It is not the product spec — see
PRODUCT_SPEC.md. - It is not the architecture — see
ARCHITECTURE.md. - It is not the art bible — see
ART_DIRECTION.md.
It is the people + business spine. How we find users, what they pay (or don’t), how we keep them safe, what we measure. Where this is silent, the manifesto adjudicates.
Locked 2026-04-27. The first 25 beta-user roster gets compiled during Wave 1; the actual launch date is gated by the v1 ship list, not the calendar.