You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The operational command center for the Builder Insights program — manage events, analyze developer feedback, generate executive reports, and coordinate program rollout.
Part of the Builder Insights suite: a three-pillar system for capturing, analyzing, and acting on developer feedback from the field.
About Builder Insights
Builder Relations teams attend dozens of events every quarter — conferences, workshops, hackathons, customer engagements — where developers share pain points, feature requests, competitive intelligence, and use cases. Historically, this intelligence gets lost in notebooks, Slack threads, sticky notes, and memory. Builder Insights fixes this.
The program delivers three pillars:
Pillar
Application
Purpose
Mobile App
Field Capture
Zero-friction insight capture at events using voice AI and quick-entry forms
Admin Portal
Command Center
Management, analysis, reporting, and program coordination (this repo)
Documentation Site
Enablement
Onboarding guides, support playbooks, release notes, and troubleshooting
All three share a single MongoDB Atlas database and a common passwordless authentication system.
# Install dependencies
npm install
# Configure environment
cp .env.example .env.local
# Edit .env.local with your MongoDB connection string and other config# Run dev server
npm run dev
Conferences, workshops, hackathons, and customer engagements
advocates
DevRel team members
sessions
Capture sessions within events
reactions
Reactions on insights
bugs
Bug reports from mobile and web
programs
Program management workspace
activity_log
Audit trail (TTL: 1 year)
users
User accounts and authentication
auth_codes
Verification codes (TTL)
summaries
Cached AI-generated executive summaries
schema_mappings
Learned column aliases for PMO import
telemetry_events
Mobile app usage telemetry
Insight Schema
insights
text -- The feedback content
type -- Pain Point, Feature Request, Praise, Question, Use Case,
Competition, Documentation, Other
sentiment -- Positive, Neutral, Negative
priority -- Critical, High, Medium, Low
productArea -- Atlas, Atlas Vector Search, Drivers, Charts, Compass,
Server, Aggregation, and 9 more
eventId -- Reference to source event
advocateId -- Who captured it
source -- mobile, web, import
aiAnalysis -- GPT-generated summary, interpretation, actions, themes
aiDistillation -- Mobile-side AI extraction (title, bullets, action items)
reactionCounts -- Aggregated reaction tallies
annotations -- Threaded comments
createdAt -- Timestamp
Event Schema
events
name -- Event name
quarter -- Fiscal quarter
status -- COMPLETED, ASSIGNED, CONFIRMING, CANCELLED, etc.
type -- DEV_DAY, WEBINAR, HACKATHON, OFFICE_HOURS, etc.
region -- AMER, EMEA, APAC, LATAM
accountName -- Customer account name
accountSegment -- POD, ANCHOR, ASPIRE_POD, KEY_GROWTH, ALL
assignments -- Array of advocate assignments (on-site, remote, volunteer)
geo -- GeoJSON Point for map placement
startDate -- Event start
endDate -- Event end
Tech Stack
Layer
Technology
Version
Framework
Next.js (App Router)
16.1.6
UI
Material UI
7.3.7
Runtime
React
19.2.3
Database
MongoDB (native driver)
7.1.0
AI
OpenAI
6.18.0
Auth
jose (JWT) + bcryptjs
6.1.3 / 3.0.3
Email
Nodemailer
8.0.0
Charts
Recharts
3.7.0
Maps
Leaflet + react-leaflet
1.9.4 / 5.0.0
PDF
jsPDF + html2canvas
4.1.0 / 1.4.1
Onboarding
React Joyride
2.9.3
File Storage
Vercel Blob
2.2.0
Styling
Emotion (MUI default)
11.14.x
Testing
Jest + mongodb-memory-server + Playwright
30.x
Project Structure
src/
app/
page.tsx -- Landing page
layout.tsx -- Root layout
login/ -- Magic link login
guide/ -- Public guide page
(authenticated)/ -- Protected route group
dashboard/ -- Dashboard + executive reports
events/ -- Event management (list, detail, new, edit)
insights/ -- Insight browser with filters and AI
advocates/ -- Team member profiles
leaderboard/ -- Gamified contribution rankings
world/ -- Interactive world map
program/ -- Program management workspace
bugs/ -- Bug report triage
import/ -- PMO spreadsheet import
search/ -- Global search
settings/ -- App settings and Slack config
monitoring/ -- App health and telemetry (admin)
operations/ -- Database stats and backup (admin)
admin/users/ -- User management (admin)
api/ -- 42 API route files across 18 endpoint groups
components/
AdminLayout.tsx -- Sidebar navigation and layout
EventMap.tsx -- Leaflet map component
InsightAIAnalysis.tsx -- AI analysis display
InsightDetailDrawer.tsx -- Insight detail side panel
InsightFormDialog.tsx -- Create/edit insight form
BugReportFab.tsx -- Floating bug report button
help/ -- Help system (provider, drawer, tour, content)
program/ -- Program workspace (audit trail, comments, references)
lib/
mongodb.ts -- Database connection and collection names
auth.ts -- JWT auth, session management, user CRUD
roles.ts -- RBAC with 4-tier role hierarchy
activity.ts -- Audit and activity logging
mailer.ts -- Nodemailer for magic link emails
slack.ts -- Slack webhook utilities
geocoder.ts -- OpenStreetMap Nominatim geocoding
schema-mapper.ts -- PMO CSV column mapping with fuzzy matching
program-rollout.ts -- Program management data model and defaults
program-utils.ts -- ID generation, @mentions, comment utilities
types/
index.ts -- Core type definitions
program.ts -- Program management types
theme/
index.ts -- MUI theme with MongoDB brand colors
scripts/
seed-demo.ts -- Demo data seeder
seed-admin.ts -- Admin user seeder
DEMO-SCRIPT.md -- 8-10 minute presentation script
docs/
PRODUCT_OVERVIEW.md -- Full product overview
PROGRAM_OVERVIEW.md -- Program strategy and leadership brief
TESTER-GUIDE.md -- Mobile app testing guide
__tests__/
api/ -- API route tests (events, insights)
Authentication and Roles
Authentication Flow
User enters their email address
System sends a 6-digit verification code via email (also generates a clickable magic link)
User enters the code or clicks the link
JWT session is created (7-day expiry) via secure httpOnly cookie (web) or Bearer token (mobile)
Domain-restricted to @mongodb.com and @builderinsights.app. New @mongodb.com users are auto-provisioned as viewers.
Role Hierarchy
Role
Level
Capabilities
Admin
100
Full access: user management, settings, operations, monitoring, all data
Manager
75
Team lead: view all data, manage team insights, import data, program management
Advocate
50
Team member: create/edit own insights, view team data, submit bugs
Viewer
25
Read-only: view insights and events
Test Accounts
When ENABLE_TEST_ACCOUNTS is set, the following accounts are available with verification code 999999:
Account
Role
demo@builderinsights.app
admin
manager@builderinsights.app
manager
advocate@builderinsights.app
advocate
viewer@builderinsights.app
viewer
Program Status
Builder Insights is targeting Q3 2026 for full launch. See Program Overview for the complete leadership brief.
Workstream
Completion
Health
Target
Admin Platform
72%
On Track
July 8, 2026
iOS App
68%
Watch
July 15, 2026
Documentation
61%
Watch
July 18, 2026
Android App
44%
At Risk
August 5, 2026
Key Metrics
200+ insights captured across 12 events
11 active team members
16 product areas tracked across 4 global regions
~5 seconds to capture a voice insight on mobile
Testing
# Run unit tests
npm test# Run with coverage
npm run test:coverage
# E2E tests (requires running dev server)
npx playwright test
See TESTING.md for role-based test accounts and testing workflows.
Scripts
# Seed demo data (resets and populates with sample data)
npx tsx scripts/seed-demo.ts --reset
# Seed admin user
npx tsx scripts/seed-admin.ts
# Take screenshots for documentation
npx tsx scripts/take-screenshots.ts
Deployment
Deployed on Vercel with:
Automatic deployments from the main branch
Vercel Cron for the weekly Slack digest (Mondays at 14:00 UTC)
Vercel Blob for file attachment storage
Environment variables configured in the Vercel dashboard