Product Internship · Estimated 9 min read
11 weeks · Summer 2025
Product / Growth
Research · PRD · Design
Pinecone is a vector database powering AI applications. New users arrive with wildly different technical backgrounds — from interns spinning up their first index to data scientists comparing embedding models. I spent 11 weeks investigating why users churn during onboarding, then designed a chatbot-guided MVP to fix it.
The internship moved through three phases: internal insights and a console audit (weeks 1–3), participant recruitment and interviews (weeks 4–6), and design exploration with PRD development (weeks 7–11). It shipped three deliverables: a user research Notion page, a Sigma growth workbook of cohort analysis, and a chatbot PRD & MVP design.
Jump to the design ↓Joining Salesforce contacts with active accounts and Heap pageviews revealed that 40%+ of signups never create an index, signaling poor early guidance and unclear entry points. Onboarding lacked adaptive support for diverse technical backgrounds. The result: delayed time-to-value, drop-off, and lower retention.
Sessions don't start on marketing pages — they start in the product. The console outdraws the sign-up page 13-to-1, making it the highest-leverage surface for onboarding help.
To locate where users stall, I rebuilt Pinecone's activation funnel in a Sigma workbook — joining Salesforce contacts, Heap pageviews, and BigQuery usage into one table with derived fields for title group, experience level, and engagement and revenue metrics.
Segmenting by drop-off point produced three cohorts: users who signed up but never created an index, users who created one but never activated, and multi-index power users — the success pattern worth reverse-engineering. Reading behavioral signals per account made the segments actionable:
Production intent. One index, over a million vectors: a technically mature team testing a real deployment. Route proactive optimization tips, not tutorials.
Latent friction. Many indexes, light data, long console sessions, heavy docs visits: someone blocked at ingestion or metadata — a candidate for deeper support before they churn silently.
Research began inside the building: interviews with eight internal stakeholders across Sales, Support, GTM, and Partner Engineering mapped which accounts teams consider high-value, how they segment users, and where customers stall. Outside, community emails, posts on X and Reddit, and the Cohere workshop cohort surfaced participants — 100 workshop contacts yielded exactly one screener response, a lesson in why community and sales structures matter for research pipelines. To widen the pool, I stitched Common Room community signals to Salesforce contact records, matching community members to accounts so outreach could be filtered by cohort and contacted users' onboarding behavior tracked downstream. Seven interviews across personas (interns, engineers, data scientists, PMs), 40 Decipher session replays, and a console friction audit mapped where users get stuck.



Users don't see value fast enough. They want guidance on budgeting, scaling, and optimizing their projects.
Confusion peaks at support blind spots. High-friction moments (field map? dense vs. sparse? cosine or dot product?) happen where no help exists. Decipher replays showed rage clicks during index setup and users never clicking 'Connect' after creating an index — the highest-intent moment passing unhelped. Free-tier users can't file tickets, so this churn stays silent.
People asked for a tutorial or "toy mode". The why behind actions, with external help one click away.
Confidence prompts matter. Users need acknowledgment that index creation and upsert actually succeeded.
Pricing pushes hobbyists out. "Pinecone's new $50/mo minimum forces me to migrate for my hobby project. If they'd landed closer to $15 I might've shrugged and paid it" (Reddit). Prototype-first users optimize for cost and speed — they churn before ever hitting the value.
The goal: reduce jargon confusion and improve index creation and activation rates. Four onboarding questions tune everything the chatbot says — use case prioritizes sample apps and terminology; experience level adjusts the complexity of language and code; tech stack links relevant SDKs and model-compatibility info; and enterprise potential routes to pricing or conversion support.
Friction hotspots on the index creation page become chatbot triggers and help appears exactly where the friction audit showed users stall.
A chatbot wasn't the default answer — I weighed it against a guided product tour and static embedded docs. One-time pop-ups are easy to ignore, and static content can't react to what a user is doing. The co-pilot is both proactive (hotspot triggers) and reactive (open chat), and it keeps working after onboarding ends.

Four questions — use case, experience level, tech stack, and enterprise potential — shape a user persona that tunes everything the co-pilot says.

The friction audit mapped every jargon moment on the index creation page. Hovering one of these hotspots invites the co-pilot in.

A Claude system prompt, a custom UI, and example questions — all conditioned on the persona — meet the user right where they stalled.

Every answer cites Pinecone documentation — quickstarts, guides, and references retrieved for the user's exact situation.
The co-pilot runs on Claude with two entry modes: a cold-open intro message when users click the icon unprompted, and a friction-triggered system prompt that receives the hovered term plus the user's onboarding responses. The prompt classifies the user — experienced or scaling vs. new or personal-project — then adapts: performance tuning and API references for one, glossaries and getting-started guides for the other. Every recommendation must cite a doc, carry a 1–2 sentence rationale, and stay under 50 words.
Onboarding answers compress into an internal persona tag that travels with the session, so tone and assumptions are set before the widget even loads:
| Onboarding signals | Persona tag | Intent |
|---|---|---|
| "I'm new" + "just exploring" | Pinenut | Exploring |
| "Used embeddings" + "prototyping" | Sapling | Prototyping |
| "Built apps" + "live in prod" | Sequoia | Production & scaling |
The design also had a real implementation path: the spec mapped onto Inkeep's embedded-chat SDK — its intro message for the cold open, per-hotspot example questions, and session-level context prompts carrying the onboarding answers — with the widget's ikp- component classes restyled to feel native to the console. Engineering could scope the MVP without building a widget from scratch.
Prompt variants weren't judged by vibes: I iterated three prompt versions — from a bare instruction set to explicit Pinenut/Sapling/Sequoia persona mapping — and ran them through Anthropic's prompt evaluation tool against three synthetic test users (a no-code explorer, a Python hobbyist bringing embeddings, a production AI-agent builder), each defined by a hovered friction point plus onboarding answers. Outputs were compared for grounding, doc relevance, and tone fit — following Anthropic's eval-design guidance: task-specific test cases and automated, rubric-driven LLM grading over slow hand-grading. The doc mapping behind each response was vetted with Pinecone's docs team before handoff.
More data types can be captured over time via Heap and pre-populated into the chatbot for support along the PLG lifecycle.
| Data point | Why it matters | When to use |
|---|---|---|
| Indexes created | Signals commitment or drop-off | Post-onboarding |
| Query volume over time | Detects scaling potential or confusion to loop in support and marketing | After setup |
| Time since last login | Reactivates users combined with PLG lifecycle nudges | Retention stage |
Primary metrics: A/B testing for index creation uplift (+10% from the current 70%), qualified tooltip hovers via Heap (median dwell time, ignoring sub-300ms jitters, capped at 5s), and chatbot CTR — ≥50% of the tested cohort views it, ≥30% click a suggestion, ≥2 messages per engaged session.
Secondary: time-to-task completion, prompt effectiveness via Anthropic's prompt evaluation tool, and qualitative thumbs up/down feedback. The MVP ships read-only — it never modifies user vectors or indexes, and prompts are shaped only by non-PII metadata.
If the MVP proves out, the chatbot extends into activation and scaling flows: onboarding survey + Heap behavioral signals → cohort tagging → dynamically updated support that also feeds GTM insights.
The biggest lesson from Pinecone wasn't the experience of working at a frontier AI infrastructure company. It was learning how to navigate and grow in ambiguity.
Make decisions with incomplete information. I shipped the onboarding chatbot without perfect certainty. I defined what "good enough" looked like, built in evaluation loops to catch what I missed, and iterated from there.
Own the outcome, not just the task. What struck me most was how willing people were to help no matter how busy they were — almost everyone I reached out to made time. That's also why I got much wider exposure across functions than a typical 3-month internship would allow. It reflects a culture where people care deeply about outcomes, not just their own workload. I internalized that. Nobody was tracking whether I followed up. I learned that real ownership means caring whether the thing actually worked, not whether the ticket was closed.
Thanks for reading :)