ClickHouse Sink Launch Playbook — 5-Slide Deck
For: the Envio team, walking through how I'd run the 90 days post-launch of HyperIndex v3 ClickHouse Sink Source memo: ENVIO_CLICKHOUSE_TEARDOWN.md — the architectural read I wrote the day the post dropped Companion docs: ENVIO_REVENUE_MODEL.md · ENVIO_REVENUE_MATH.md · ENVIO_GROWTH_PLAN.md · ENVIO_DECK_OUTLINE.md · ENVIO_FIRST_24_HOURS.md · ENVIO_VIDEO_SCRIPT.md · ENVIO_INDEXER_TEARDOWN.md · ENVIO_ONBOARDING_FORENSIC.md
I'm presenting this deck in operator voice deliberately — written as the playbook I'd circulate internally on day 7 of the role for ClickHouse Sink launch monetization. Treat it as a writing sample of what 30-day post-launch planning from me would look like. Caveats from the source memo all carry forward.
Goal of this deck
Not to argue for the role — the prior deck did that. This deck argues a 90-day launch playbook for monetizing ClickHouse Sink, with sequencing, named customer outreach, deliverables, KPIs, and the one ask that unblocks the whole sequence.
Same architectural rules as the prior deck:
- Each slide does one thing. No multi-purpose slides.
- Numbers > prose. A diagram or a single big number replaces a paragraph.
- No more than 30 words on any slide. Slides are anchors; words come from your mouth.
- Match Envio's design language. Ship 🚢 emoji, dark-mode aesthetic, benchmark-comparison visuals.
- Every slide ends with one explicit ask of the room. Keeps the meeting conversational.
Total runtime target: ~20 minutes for the 5 main slides. Reserve the next 30 for the team's reactions and live co-editing.
Slide 1 — "The Launch Window"
Time budget: ~3 minutes
What's on the slide:
- Title (large): The launch window is now.
- Subtitle: "ClickHouse Sink shipped this week. The 90 days from launch determine whether it becomes a tier-up engine or a footnote feature."
- Single visual, full bleed: a clean architecture diagram showing the dual-write flow:
┌──────────────┐
│ Handler │ (entity changes)
└──────┬───────┘
│ same batch, atomic
┌───────────────┴───────────────┐
▼ ▼
┌───────────────┐ ┌────────────────┐
│ Postgres │ │ ClickHouse │
│ (primary) │ │ (analytics │
│ GraphQL │ │ mirror) │
└───────────────┘ └────────────────┘
↓ ↓
Transactional reads Dashboards · BI
Entity-by-ID Time-bucketed agg
Live state Leaderboards- Three small text anchors at the bottom:
- 📦 Same-batch atomicity — no drift between stores
- ⏪ Reorg = single
DELETE— checkpoint-tagged append-only history - 🔧 Four env vars, zero DDL — activation cost ≈ free for any team that has ClickHouse already
Talk track (90 seconds):
"Quick frame before the playbook. ClickHouse Sink shipped this week. The architecture is what's on screen — handlers flush to Postgres and ClickHouse in the same batch, so both stores stay consistent without a separate ETL pipeline.
The piece I'd flag for any non-architect in the room: this isn't a feature improvement. It's a persona expansion. Today's default Envio customer is a transactional dApp backend — load entities, render UI, refresh. The Sink unlocks a second persona: the analytics product. Dashboards, leaderboards, BI integrations. Same indexed data, different consumer.
The 90 days post-launch are the leverage window. After that, the feature gets categorized as 'thing Envio ships' rather than 'thing Envio is known for.' This deck is how I'd run those 90 days."
Ask of the room (one line):
"Is the 'persona expansion' framing the way you want this feature positioned externally — or is there a different frame you'd lead with?"
Why this slide first: establishes the strategic stakes of the launch window before getting into tactics. The architectural diagram is doing double-duty — it grounds the meeting in technical seriousness while signaling I read the post architecturally. If the team agrees with the persona-expansion framing, the rest of the deck has gravity. If they reframe, slides 3–5 flex around their answer.
Slide 2 — "The Customer Map"
Time budget: ~4 minutes (this is the slide that makes the meeting concrete)
What's on the slide:
A highlighted customer wall — your existing public customer logos, with the five customers most architecturally aligned with Sink visually emphasized. To the side, a 5-row table mapping each highlighted customer to their analytical workload:
| Customer | Why Sink fits them |
|---|---|
| Velodrome + Aerodrome | 12 chains × pool aggregators × hourly snapshots — the exact workload ClickHouse was built for |
| Sablier | Their monorepo runs three indexers. The third is literally named "analytics". Obvious first migration. |
| Polymarket | 4B indexed events on Polygon. Market analytics, top-trader leaderboards across billion-row history. |
| LI.FI | Cross-chain bridge volume. High-cardinality, high-aggregation reporting. |
| Limitless | Daily prediction-market leaderboards on Base — a canonical "this is slow on Postgres at scale" workload. |
Underneath:
Outreach priority: Velodrome → Sablier → Polymarket. Each gets a custom one-page outreach grounded in their actual public indexer code.
Talk track (3 minutes):
"Here's why I'm confident the launch window is real. These five customers, all already on Envio, all already named publicly — every one of them has the analytical workload that makes Sink an obvious fit. None of them is hypothetical.
Velodrome is the most architecturally aligned. I read their public indexer last week — they have a dedicated
Aggregators/layer and aSnapshots/layer that produces hourly time-bucketed state. That's not generic indexing; that's analytics-product indexing. Their dashboards are scanning aggregator tables today, and at 12-chain scale, those scans are getting expensive. They are literally the canonical case study for this feature.Sablier runs three indexers, and the third one is named 'analytics.' The migration path tells itself.
Polymarket has 4B events on Polygon. The post explicitly cited 'hundreds of millions of Transfer events' as the scale where Postgres slows down — Polymarket is past that order of magnitude.
If we're aligned that these are the right first targets, the next slide is what I'd do with that list."
Ask of the room:
"Is this priority order right? Specifically — is there an account not on this slide that you'd put first, because of context I don't have?"
Why this slide is structured this way: customer mapping is what separates a real GTM playbook from a generic launch plan. The team will react strongly to this slide because they have actual context on each named account — relationship status, deal stage, internal champion. Their corrections to my priority order are the most valuable signal in the entire meeting. If they reorder, slides 3 and 4 get re-sequenced live.
Slide 3 — "The Five Launch Plays"
Time budget: ~6 minutes (most expensive slide — give it room)
What's on the slide:
A 5-row table mirroring the structure of the prior deck, but specific to ClickHouse Sink:
| # | Play | Mechanic | Deliverable | Signal |
|---|---|---|---|---|
| 1 | The launch case study | Co-author with Velodrome (or Sablier). Architectural deep-dive, customer voice. | 1 long-form blog post + X thread + LinkedIn from customer's account + 60-sec Loom + Discord pin | Inbound qualified inquiries within 60 days |
| 2 | "Sink in 30 minutes" pillar artefact | Loom video + repo + next-step doc. From pnpx envio@v3.0.0-alpha.21 init to first ClickHouse table populated. | A single canonical activation asset | Activation rate on Sink env-var setup |
| 3 | "From Postgres to ClickHouse — when to make the move" | Decision-tree post. 3–4 self-diagnosis signals (query latency on aggregations, dashboard refresh times, time-bucketed reporting volume). | A short canonical blog post | Self-routes prospects to the Sink path without sales touch |
| 4 | BI partner-integration kit | 30-line examples for Metabase / Superset / Grafana / Tableau / Hex / Redash. Each one a co-marketing wedge with the BI vendor. | One example per fortnight × 6 vendors | Partner-attributed traffic + co-marketing surface |
| 5 | Managed-offering waitlist warm-up | Weekly check-in, beta invites, integration help for the existing waitlist. | Maintained pipeline state; conversion-ready when managed launches | Waitlist → paid conversion rate at managed launch |
Underneath the table:
Play 1 is the seed. Plays 2 and 3 ride its coattails. Play 4 compounds in the BI ecosystem. Play 5 is the patient pipeline play.
Talk track (3 minutes):
"Five plays. Same shape as my broader strategy memo, but tuned to this single launch. The dependency structure matters more than the count.
Play 1 — the launch case study with Velodrome or Sablier — is the seed. Once we have one published, sharp, customer-voiced case study, plays 2 and 3 ride its coattails. Play 2 — the 30-minute pillar artefact — uses the case-study customer's setup as the reference architecture in the video. Play 3 — the decision-tree post — uses the case-study workload as the canonical example of when Sink makes sense.
Play 4 — BI partner integrations — is the highest-half-life play. Six examples shipped one per fortnight is twelve weeks of co-marketing surface with brands the team's prospects already use. It's also the play with the largest partner-leverage — every Metabase or Grafana integration is a free distribution channel.
Play 5 — the waitlist warm-up — is the patient one. The post mentions a managed-ClickHouse offering on the roadmap. The waitlist is a high-intent qualified pipeline today, sitting cold. An hour a week of structured engagement keeps it warm until the managed product launches, at which point conversion is a phone call instead of a re-sale.
One play is missing on purpose: paid acquisition. None of these five require a media budget. They're all leverage on what already exists — the customer wall, the launch energy, the BI ecosystem, the waitlist."
Ask of the room:
"If you had to pick the single play to ship in the first two weeks, which one — and which one would you defer past 30 days?"
Why this slide is structured this way: the deck's job here is to give a 30-second mental map of the playbook, then hand the floor over. The team will pull individual plays into focus based on what they think the highest-leverage move is — and their answer becomes the actual sequencing input. Don't pre-defend any play; let them ask.
Slide 4 — "The 90-Day Sequence"
Time budget: ~4 minutes
What's on the slide:
A horizontal timeline, four blocks, each labelled with a week-range and the corresponding deliverable:
[ Week 1 ] [ Weeks 2–4 ] [ Weeks 5–8 ] [ Weeks 9–12 ]
↓ ↓ ↓ ↓
ALIGNMENT SEED CASE MULTIPLY COMPOUND
+ OUTREACH STUDY
↓ ↓ ↓ ↓
- Pick the - Velodrome - Pillar - First 2
case study (or Sablier) artefact + BI
customer interview decision-tree integrations
with the team 30 min post both shipped
- Send first - Draft published shipped (Metabase
outreach to in 5 distribution - Outreach + Grafana)
Velodrome, formats wave 2: - Waitlist
Sablier, - Distribute via Polymarket, weekly
Polymarket X / LinkedIn / LI.FI, cadence
Discord / blog Limitless live
/ Loom - Inbound - Case-study
attribution #2 in
tracking on interview
live Underneath the timeline:
Day 90 success: 1 published case study, 1 pillar artefact + 1 decision-tree post live, 2 BI integrations shipped, 3 outreach migrations in flight, waitlist actively engaged.
Talk track (90 seconds):
"Here's the sequence. Week 1 is alignment with the team — pick the case-study customer, validate the priority order, send first outreach to the top three named accounts. By end of week 1, the question 'who's the canonical Sink case study' should be a name on a calendar invite, not an open question.
Weeks 2 to 4: the case study ships. 30-minute customer interview, 5 distribution formats, every channel. This is the seed asset that everything else builds on.
Weeks 5 to 8: the pillar artefact and the decision-tree post both go live, both using the case-study customer as the reference example. Outreach widens to the wave-2 accounts. Inbound attribution tracking starts.
Weeks 9 to 12: BI integrations begin shipping — Metabase first, Grafana second, both because they're the most-used in the prospect base. The waitlist warm-up cadence goes live. Case study #2 enters interview phase.
Honest scope: this is one Growth Engineer for 90 days. One case study, one pillar artefact, one decision-tree, two BI integrations, three migrations in flight, one waitlist cadence. That's the playbook. Anything more is overpromising."
Ask of the room:
"Where does this sequence break? Specifically — is week 1's outreach too aggressive without internal context, or am I being too cautious?"
Why this slide here: the team's natural follow-up to slide 3 is "OK, but in what order, and how fast?" This answers it. The question at the end is calibrated to surface whether the team thinks I'm under- or over-shooting on cadence — both answers are useful.
Slide 5 — "KPIs + The One Ask"
Time budget: ~3 minutes
What's on the slide:
Two-column layout.
Left column — Day-90 KPIs (joint targets, set in week 1)
- 1 published case study (Velodrome or Sablier)
- 1 pillar artefact + 1 decision-tree post live
- 2 BI integrations shipped (Metabase + Grafana)
- 3 active migrations to Sink (across the 5 named accounts)
- Waitlist weekly cadence operational
- Inbound attribution: ≥ N inquiries traceable to the case study
- Activation rate on Sink env-var setup: baseline established
Right column — The one ask
Introduce me to one of the named customers — Velodrome, Sablier, or Polymarket — for a 30-minute case-study interview within week 2.
That single intro unblocks Plays 1, 2, 3, and 4.
Tell me which one you want to anchor on, and I'll send the briefing doc within 24 hours.
Talk track (90 seconds):
"Two things on this slide. KPIs on the left — these are the day-90 deliverables, with measurement targets we'd set jointly in week one once I see real internal numbers. None of them are commitments yet; they're a starting point for the conversation.
The right side is the most important part of this entire deck. Every play in the sequence depends on one thing: the canonical case study. And the canonical case study depends on one customer interview that you have the relationships to make happen, and I don't.
So my single ask coming out of this meeting is: introduce me to one of Velodrome, Sablier, or Polymarket for a 30-minute case-study interview in week 2. That one intro unblocks four of the five plays. Tell me which customer you want to anchor on, and the briefing doc lands in your inbox within 24 hours."
Ask of the room (this is the meeting's closing question):
"Which customer? And who on your team makes that intro?"
Why this slide last: the deck's measurement framework is the contract. The "one ask" is the negotiation. The closing question is deliberately specific and actionable — it converts the meeting from "review my plan" into "make me a calendar invite." Compare to the prior deck's open-ended "what did I miss?" — that closer was right for a job-discussion meeting; for a launch-playbook meeting, the closer should be a deliverable.
After the deck — the next 30 minutes
The deck is 20 minutes. The meeting should be 50–60. Reserve the back half for:
- Their reactions to the customer-priority list (Slide 2). Take notes — every reorder is a v2 input.
- Co-edit the 90-day sequence live. What ships in week 1 vs. what's deferred. This is the slide most likely to change in real time.
- Make the intro happen. Don't leave the room without a name + a calendar invite + a briefing-doc deadline.
A successful meeting produces:
- One specific named customer for the canonical case study, with an internal sponsor for the intro
- A reordered priority list of the five plays based on team context I don't have
- A confirmed week-1 calendar invite with the case-study customer
- One BI vendor flagged as "we already have a relationship there" — that becomes the first integration
- A real internal number for the waitlist size (verbally shared, even if not yet in writing)
That's the meeting. The deck is the scaffolding.
Quick build instructions
If you turn this into actual slides in 25 minutes:
- Slide 1. Black or dark-mode background. ASCII or vector architecture diagram, full bleed. Three small icons at the bottom.
- Slide 2. Customer logo wall with five logos visually highlighted. Adjacent table with the 5-row mapping.
- Slide 3. A 5-row table or 5-card grid. Equal weight to each row. No bullet points under any of them.
- Slide 4. Horizontal timeline. Four equal blocks. Short labels.
- Slide 5. Two columns. Left = KPIs. Right = the single bold ask. One closing question at the bottom in big text.
Use Pitch, Keynote, Figma, or Slides — whichever's fastest. Don't over-design; the team is technical and will respect clarity over polish.
Backup Slides — Pull These Up On Demand
Same rules as the prior deck: don't show backups unprompted, navigate fluently, "let me show you what that looks like" never "I have a slide for that."
Four backups. One per likely deep-dive question.
Backup A — "Walk me through the case-study production pipeline"
Likely trigger: "OK, you said 5 distribution formats — what does that actually look like for ClickHouse Sink specifically?"
What's on the slide:
A 5-card grid, each card representing one distribution format with a concrete, ClickHouse-specific sample headline:
| Format | Sample headline | Length | Channel |
|---|---|---|---|
| 📄 Long-form blog | "How [Customer] cut dashboard query latency from minutes to milliseconds with ClickHouse Sink" | 1,500–2,500 words | Envio blog |
| 🧵 X thread | "We just shipped Postgres-to-ClickHouse mirroring in HyperIndex v3. Here's what it unlocks." | 8–12 tweets | @envio_indexer + customer's account |
| 💼 LinkedIn post | Customer-voiced reflection on the migration experience | 200 words | Customer's account, ghost-written |
| 🎬 60-second Loom | Customer engineer walking through their dashboard with the new architecture | Video | Embedded in blog + Discord pin |
| 📌 Discord pin | "If you're running an analytics dApp on Envio, read this →" with 3 links | 1 paragraph | Permanent reference in #use-cases or equivalent |
Talk track (60 seconds):
"One customer interview, 30 minutes of their time, 5 distribution units that hit 5 different audiences. Long-form is the SEO asset that ranks for years. X thread is immediate distribution. LinkedIn from the customer's voice is the asset that hits a different network than ours. The Loom is the human-voice asset that converts skeptics. Discord pin is the long-tail reference for prospects in that vertical.
The half-life math: long-form post ranks for years. X thread is days, then evergreen if pinned. LinkedIn is weeks. Loom is months. Discord pin is permanent reference. Different durations, different audiences, one interview."
Why this slide: "five distribution formats" sounds glib until you see the ClickHouse-specific headlines. Then it's tangible.
Backup B — "What does a Sink migration outreach actually look like?"
Likely trigger: "Walk me through what you'd actually send to Velodrome on day 1."
What's on the slide:
A mocked-up outreach email/Slack DM, ClickHouse-Sink-specific, addressed to the Velodrome team. Annotated with what each section is doing.
Subject: ClickHouse Sink + your Aggregators layer — quick thought
Hi [Velodrome team],
We just shipped ClickHouse Sink in HyperIndex v3 alpha. I read your
public indexer last week — specifically the `Aggregators/` and
`Snapshots/` directories — and I think you're sitting on the canonical
case study for this feature.
Here's why: your aggregators produce hourly time-bucketed pool-level
state across 12 chains. That's exactly the workload Postgres struggles
with at scale and ClickHouse was built for. Same handler code. Same
GraphQL endpoint. ClickHouse just becomes the analytics mirror your
dashboards query, leaving Postgres for transactional reads.
Two asks, low cost to you:
1. 30-minute call to walk through whether your dashboard query
patterns match what we're seeing.
2. If it lands, co-author the case study with us — we draft, you
approve, we distribute through 5 channels with your team's logo
on the byline.
Free 2-month Sink trial on your existing Dedicated plan if you want
to validate before the call.
— Kaustubh, Growth Engineer @ EnvioAnnotations on the slide:
- Specific architectural reference (Aggregators + Snapshots) — proves we read their code
- Concrete benefit, no marketing fluff
- Two asks, both low-cost, in priority order
- Trial offer removes financial friction
- Co-author framing makes the customer the hero
Talk track (60 seconds):
"This is what week 1 outreach to Velodrome looks like. Note the specifics — the email references their
Aggregators/andSnapshots/directories by name, because I read the public repo. That's the line that separates 'this is a templated outreach' from 'this person actually understands our infrastructure.'Two asks, both low-cost. The trial removes the financial friction. The co-author framing makes them the hero of the case study. Total time investment for them if they say yes: 30 minutes of interview + an approval pass on the draft. That's the conversion-friction-to-value ratio I'd want for every outreach in the playbook."
Why this slide: the team will want to see what the actual outreach reads like. A well-crafted sample email lands harder than a paragraph describing it.
Backup C — "What's the BI integration kit actually look like?"
Likely trigger: "Six BI integrations sounds like a lot. What's actually shipping per integration?"
What's on the slide:
A spec card for one example integration (Metabase), shippable in one working day:
METABASE × ENVIO CLICKHOUSE SINK — Integration Example v0.1
Repo: envio-examples/clickhouse-sink-metabase
Setup time for user: ~10 minutes
Files: 1 docker-compose.yml + 1 README + 1 sample dashboard JSON
What it does:
- Spins up Metabase pointed at the user's Envio-managed ClickHouse
- Pre-configured dashboard with 4 widgets:
· TVL trend over time (line chart)
· Top 10 pools by 7-day volume (bar chart)
· Hourly swap count (heatmap)
· Active users over 30 days (counter)
- README walks through swapping in their own schema
Co-marketing wedge:
- Metabase team gets logo on the integration page
- We get listed in Metabase's "Database Connectors" page
- Cross-tweet on launchTalk track (60 seconds):
"Each BI integration is one example repo, one docker-compose, one README, one sample dashboard. Total Growth-side cost per integration: about a working day. Total user-side setup: 10 minutes from clone to dashboard.
The co-marketing wedge is the part that compounds. Metabase, Grafana, Tableau, and the others are all looking for examples of strong Connect integrations to feature on their pages. Every integration we ship is a free listing in their docs and a cross-tweet at launch. Six integrations × two co-marketing surfaces each = 12 free distribution channels we don't pay for.
I'd ship Metabase and Grafana first — those are the most-used among technical teams in the indexer prospect base."
Why this slide: technical teams want to see the spec, not just the headline. A one-day-shippable scope is also a credibility signal — overbuilding integrations is the death of a launch playbook.
Backup D — "What's the failure case for each play?"
Likely trigger: "What are you most worried about being wrong on?"
What's on the slide:
Three risk cards, each with a self-aware "what could go wrong" + course-correction:
Card 1 — Case study customer says no
Risk: Velodrome and Sablier both decline the interview within week 2. The seed asset doesn't ship. Response: Pivot to a "Sink architecture deep-dive" written by me, using public Envio docs + the architectural reasoning from the launch post. Less compelling than a customer-voiced case study, but ships on the same timeline. Then re-attempt customer outreach with the deep-dive as the warm-up content.
Card 2 — BI integrations don't drive co-marketing
Risk: Metabase and Grafana don't reciprocate the cross-promotion. Six integrations land as quietly as one would have. Response: Reframe Play 4 as activation aids rather than co-marketing wedges. They still serve as templates a Sink customer can fork — that value is independent of the BI vendors' enthusiasm. Drop integrations 5 and 6 in favor of more case-study production.
Card 3 — Activation rate on Sink env-var setup is lower than expected
Risk: The "Sink in 30 minutes" pillar artefact lands but doesn't actually convert as well as the broader First-Indexer one — because the Sink target audience is more sophisticated and harder to surprise with a 30-minute setup video. Response: Replace the pillar artefact with a "Production migration runbook" — a longer, denser doc aimed at the architect persona. Different audience, different artefact format, same conversion goal.
Underneath:
None of these are existential. All three produce signal inside one quarter.
Talk track (60 seconds):
"Three things I'm most worried about being wrong on. First — both case-study customers say no in week 2. The seed asset doesn't ship on time. Pivot: I write the architectural deep-dive myself using public material, then use it as the warm-up content for a re-attempt at customer outreach.
Second — BI vendors don't reciprocate the co-marketing. Reframe the integrations as activation aids the customers can fork directly. The artefact still has value; just less compounding distribution.
Third — the Sink pillar artefact under-converts because the audience is more sophisticated than the broader Envio audience. Replace with a longer architect-grade migration runbook.
None of these break the launch. All three become visible inside the first 30 days, so we can course-correct fast."
Why this slide: technical founders love the "what's your blind spot" question. Pre-built answers — with course-corrections, not excuses — are the strongest signal of operational maturity.
How to use the backups in the meeting
- Don't show more than two backups in one meeting. If you reach for a third, the meeting has drifted from the main spine.
- Don't volunteer them. The team should pull them out with a question.
- Navigate fluently. Practice jumping from Slide 3 to Backup A to Slide 4 in your slide tool of choice.
- Take notes on which backups got pulled. That's the highest-signal data of the meeting — it tells you what the team actually cares about under the surface.
The backups cost 2 hours to build and only get used if asked. When they get used, they're the difference between "this person has thought about it" and "this person is operating two layers deeper than I expected for a candidate."
Final note
This deck and the source memo serve different purposes. The source memo is the reading. The deck is the meeting. They're deliberately distinct — the deck is incomplete on its own (no architectural detail, no full play descriptions) so the team has reason to read the memo afterward.
If this deck does its job, by the end of the meeting you'll walk out with the canonical Sink case-study customer chosen, the intro on a calendar, and a 90-day sequence the team has co-edited live. That's a launch with momentum behind it on day 1.
— Kaustubh