Built one platform to find, profile, and interview 12,000 users.
I built both—and connected them—so the team could identify the right people to learn from without weakening privacy, safety, or data ownership.
Pool accuracy7,389accounts matched exactly
Visibility3,760+restored to research visibility
Pool writes4,478 + 2,911records created and updated
Ownership33 of 35tracker commits authored by me
01 / At a glance
A trustworthy user data layer feeding a complete research workflow.
Project
User research operating system for Dipper Video AI
Challenge
Identify the right users to learn from without weakening privacy, safety, or data ownership
My role
Sole builder of the candidate pipeline, pool, and interview platform—both planes, connected
Data sources
Spanner, GA4 + BigQuery, Firebase Identity, and internal review
Operating cadence
Daily 8 a.m. PT Cloud Run refresh with full-pool reconciliation
Operating team
A 16-person interviewer and admin roster on one shared workflow
02 / The problem
How do you know which users are the right people to learn from?
Scheduling an interview assumes the team already knows who to contact. In reality, user identity, product behavior, eligibility, and contactability lived across disconnected systems—and each source revealed only part of the picture.
The challenge was to create a complete, auditable view of every user: segmenting people by how and why they used the product, identifying the most relevant research participants, and safely excluding minors, banned users, employees, testers, and policy-flagged accounts.
The system needed to make user data more useful without making it less protected.
03 / System at a glance
The bridge between trustworthy candidate data and research action.
Full user interview system
Four sources, one pipeline-owned pool, three research surfaces, and the human workflow operate as one system.
SourceSpannerAll user accounts
SourceGA4 + BigQueryBehavior, sessions, exports, app version
SourceFirebase IdentityBan status and reachability
SourceInternal reviewEligibility and content cohorts
↓
PipelineDaily Cloud Run pipelineIncremental refresh + full-pool reconciliation
↓
PoolFirestore candidate poolPipeline-owned and read-only
↓
SurfaceGoogle CalendarInterview bookings
SurfaceIAP-protected interview platformAssignments, stages, notes, guides, and links
SurfaceSlack feedback syncIn-app feedback history
↓
Recruit
Notify
Schedule
Interview
Synthesize
Retain
04 / Data plane
Make every user understandable and auditable.
This side assembles the population, adds research context, evaluates eligibility, and keeps the pool current.
01
Candidate intelligence
Spanner defines who exists. GA4 and BigQuery explain how people use the product. Each account receives independent behavioral and content-intent segments.
Five behavioral cohorts
Four content cohorts
Product, version, onboarding, and activity context
02
Eligibility and privacy
Every account remains auditable, while explicit flags stop unsafe or inappropriate outreach.
Minor, employee, tester, policy, and ban classes
Email and phone removed when flagged
Human review before contactability returns
Key modelFlagging replaces silent filtering, so absence never masquerades as ineligibility.
03
Reliable daily operation
A Cloud Run job refreshes the pool daily at 8 a.m. PT and reconciles changing source conditions.
AccessIAP, keyless least privilege, conditional IAM, and read-only application access
05 / Research plane
Move from the right participant to reusable learning.
This side turns candidate intelligence into assignments, outreach, interviews, notes, and team knowledge.
04
Discover and assign
Search, filter, and sort candidates across behavior, intent, version, reachability, and eligibility. Assign individually or in bulk.
Candidate detail pages
Interviewer workload
Email matching without client-side exposure
05
Coordinate and progress
Move candidates through six stages and connect human-reviewed outreach with Calendar bookings.
Not contacted → interviewed or no-show
Push-notification assistant
Interviewer-scoped conversion funnels
Team boundaryThe platform assists outreach without bypassing backend’s human-review requirement.
06
Prepare and synthesize
Bring activation-specific guides, app-version context, and Slack feedback into interview preparation, then preserve notes and export them for synthesis.
Tailored interview guides
Read-only feedback history
Shared notes and Markdown export
Completed-interview leaderboards
06 / Results
The team could finally see the complete population—and act on it responsibly.
Complete, not partial.
The redesigned pool matched the production source exactly, restored visibility into more than half of the user base, and gave a 16-person interviewer and admin roster one shared way to carry research from candidate discovery into reusable product knowledge.
7,389 accounts matched the production source exactly—with 3,760+ users restored to research visibility.
Validation327 flagged candidatesExplicit flags, not silent drops
Protected class112 minorsEmail and phone removed when flagged
Policy63 banned accountsExcluded from research outreach
Measurement note: repository-validated rollout figures, not current live-system counts.
07 / What this proves
I can build the trustworthy data layer and the workflow that uses it.
Zero-to-OneReplaced a partial recruitment pool with a complete research operating system in daily use.
AI Tooling & PrototypingBuilt the candidate-intelligence pipeline, segmentation, and interview platform end to end.
Technical Project ManagementConnected sources, eligibility, outreach, scheduling, interviews, and synthesis into one operated workflow.
Community & EcosystemGave a 16-person interviewer and admin roster one shared, responsible way to learn from users.
08 / Takeaway
The workflow is only as good as the data it can trust.
The system replaced a partial recruitment pool with a durable workflow for participant selection, eligibility, outreach, preparation, interviewing, and synthesis.
I built the trustworthy user layer and the complete research workflow—and connected them—so the team could learn from the right people without weakening privacy, safety, or data ownership.