Pinecone

Onboarding Agent

Product Internship · Estimated 9 min read

Timeline

11 weeks · Summer 2025

Team

Product / Growth

Scope

Research · PRD · Design

Context

Helping developers reach their first "it works" moment.

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 ↓
Problem

Over 40% of users never create an index.

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.

Users that created an index but didn't activate · signup ≥ 2025-06-01
Creator emailCreated
sh•••••@regentmarkets.com2025-06-09 07:53:02
ja•••••@gmail.com2025-06-08 06:25:09
mh•••••@gmail.com2025-06-02 00:13:41
de•••••@gmail.com2025-06-04 16:51:59
Summary · 20,816 rows – 2 columns
Users that didn't create an index · signup ≥ 2025-06-01
Creator emailCreated
cr•••••@gmail.com2025-08-07 16:17:30
mo•••••@gmail.com2025-08-07 12:27:17
vl•••••@gmail.com2025-08-18 19:48:55
le•••••@gmail.com2025-08-02 00:24:58
Summary · 28,921 rows – 2 columns
20,816 created-but-inactive vs 28,921 never-created contacts · emails masked
Heap pageview analysis

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.

Pinecone Console3,505
Sign up / log in267
Indexes237
Homepage204
Create a new index174
Most frequent pageview titles · Heap, console sessions
Cohort Analysis

Finding the leak with a Sigma growth workbook.

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.

01Sign up
02Create index
03Activate10 API calls
04Weekly active10 queries / week
05Upgrade

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:

A

Production intent. One index, over a million vectors: a technically mature team testing a real deployment. Route proactive optimization tips, not tutorials.

B

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.

Sigma workbook cuts: engagement by title grouping · revenue concentration by experience level
Research

Recruiting real users, the scrappy way.

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.

Pinecone recruitment post on X
Reddit outreach to churned users
Recruiting through X and Reddit ethnography
Affinity map of interviewee insights across personas
Interview affinity mapping across personas
Findings

What the interviews kept repeating.

1

Users don't see value fast enough. They want guidance on budgeting, scaling, and optimizing their projects.

2

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.

3

People asked for a tutorial or "toy mode". The why behind actions, with external help one click away.

4

Confidence prompts matter. Users need acknowledgment that index creation and upsert actually succeeded.

5

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.

Opportunity

How might we guide each user to activation with support that adapts to their use case, experience, and stack?

Solution

A chatbot that adapts to who's onboarding.

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.

How it works
Onboarding Data: Onboarding Responses User Persona & Use Case
Users Hover On Friction Point
Console Co-pilot LLM Backend: Claude System Prompt Front End: Custom UI · Example Questions
Retrieved Docs
Pinecone onboarding survey where users pick their use case
01

Onboarding builds a persona

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

Friction audit of the index creation flow
02

Friction becomes a trigger

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

Chat with Pinecone panel inside the create-index flow
03

The co-pilot answers in context

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

Pinecone documentation — the source of retrieved docs
04

Grounded in retrieved docs

Every answer cites Pinecone documentation — quickstarts, guides, and references retrieved for the user's exact situation.

Demo

The prototype in action.

Prompt Design

Two prompts, three personas, one eval loop.

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 signalsPersona tagIntent
"I'm new" + "just exploring"PinenutExploring
"Used embeddings" + "prototyping"SaplingPrototyping
"Built apps" + "live in prod"SequoiaProduction & 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.

Scalability

Signals that grow with the user.

More data types can be captured over time via Heap and pre-populated into the chatbot for support along the PLG lifecycle.

Data pointWhy it mattersWhen to use
Indexes createdSignals commitment or drop-offPost-onboarding
Query volume over timeDetects scaling potential or confusion to loop in support and marketingAfter setup
Time since last loginReactivates users combined with PLG lifecycle nudgesRetention stage
Next Steps

Measuring success, then expanding.

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.

Lessons Learnt

Learning to navigate ambiguity.

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.

1

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.

2

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.

The Pinecone team on Roosevelt Island, New York
The Pinecone team in the office
Polaroid from the internship
Summer in NYC with Team Pinecone

Thanks for reading :)

More projects

Jet-lagged Planner

UX Design · Machine Learning · Design System

Micro Whiffs

Speculative Bio Design · Data Visualization