Overview
The recommendations API returns personalized event suggestions based on the user’s career profile, joined circles, and historical interactions. It combines tag-based matching with advanced career impact scoring and optional behavioral reranking.Requires authentication and a completed career profile. Returns empty results for users without profiles.
Authentication
Requires a valid Supabase authentication token in the request headers.Rate Limiting
- Limit: 20 requests per minute per user
- Window: Sliding window (1 minute)
- Response: HTTP 429 if rate limit exceeded
Request
HTTP Method
Query Parameters
Maximum number of recommendations to return (max 50)
Comma-separated list of tags to search for specific eventsExample:
tags=python,machine-learning,aiSession ID for telemetry tracking (optional)
Headers
Optional request ID for tracing and debugging
Response
Success Response (200)
Always
true for successful requestsError Responses
Examples
Get Personalized Recommendations
Search by Specific Tags
How It Works
Recommendation Pipeline
- Profile Enrichment: User’s career profile is enriched with joined circle names for instant personalization boost
-
Tag Matching: Events are ranked by tag similarity to user’s:
- Primary skills
- Skills to learn
- Interests
- Career goals
- Joined circles
-
Career Alignment: Each event receives an alignment score (0-100) based on:
- Skill relevance
- Career stage match
- Networking value
- Industry relevance
- Timing factors
-
Diversity Enhancement: Results are reranked to provide variety across:
- Event types (conference, workshop, meetup)
- Topics and skills
- Date ranges
-
Behavioral Reranking (Optional): If
DISCOVERY_RERANK=advanced, user interaction history further refines order
Scoring Strategy Selection
Recommendations use the scoring strategy configured via environment variables:DISCOVERY_SCORING=server(default): Pure alignment coreDISCOVERY_SCORING=legacy: Legacy enhanced scoringDISCOVERY_SCORING=shadow: Both strategies with delta logging
Telemetry
If user has analytics consent, the API logs:- Top 10 recommended events with scores
- Kendall’s tau correlation between tag ranking and alignment ranking
- Divergence count (how many pairs switched order)
- Tag match counts and processing time
Performance Notes
- Processing Time: Typically 200-800ms depending on profile complexity
- Cache Strategy: No caching; each request is freshly calculated for personalization accuracy
- Sampling Rate: Matching telemetry sampled at 1% (configurable via
MATCHING_TELEMETRY_SAMPLE_RATE)
Related Endpoints
- POST /api/events/filtered - Advanced event search and filtering
- GET /api/profile/career - View and update career profile
- GET /api/dashboard/analytics - View recommendation performance analytics