Plans & Entitlements
How the platform decides what a user can do — and what each plan includes.
How plans work
- Source of truth is the user-management service. Plans live in its database (the
subscription_plantable); every other service and the frontend consume plan data through its API, never their own copy. - Entitlements, not plan names. Code never branches on a plan's name. Checks go through the entitlement mechanism:
- Backend (user-management): plan and usage enforcement lives in the subscription services (e.g. consuming an AI interview or feedback credit decrements through
SubscriptionMetricsService). A single DTO mapper feeds both the public plans endpoint and the user's nested subscription, so the API always reflects the same plan shape. Hardcoded checks likeif (plan == "pro")are an anti-pattern. - Frontend (main web app): all plan/entitlement checks go through one utility module (
planEntitlements), with plan state held in the central store — never scattered string comparisons in components.
- Backend (user-management): plan and usage enforcement lives in the subscription services (e.g. consuming an AI interview or feedback credit decrements through
- Plans inherit. Each paid tier extends the tier below it and overrides only what changes, so a new entitlement added to a lower tier flows up automatically.
- Usage is a ledger. Consumption (AI interviews, feedback) is recorded append-only and resets per billing cycle; historical billing rows are never rewritten.
- Limits are data, not code. Quotas (interviews per period, session length, feedback depth, profile visibility) are columns on the plan row — changing a limit is a data change, not a deploy.
Current plans (snapshot)
As of June 2026. The database is the source of truth — this table is a snapshot and may lag behind it.
Individual (candidate) plans
| Plan | Price | Key entitlements |
|---|---|---|
| Free (Practice) | $0 | 2 practice interviews/week (30-min sessions) · basic feedback · Profile Card creation (private) |
| Pro (Profile) | $19.99/mo · $199/yr | 15 practice interviews/mo · 4 Lifelike interviews/mo (graded, feed the Profile Card) · detailed feedback · basic analytics · shareable Profile Card |
| Career (Placement) | $49.99/mo · $399/yr | 45 practice interviews/mo · 12 Lifelike interviews/mo · advanced feedback & analytics · recruiter-visible Profile Card with priority ranking · direct recruiter access & job matching · platform distributes your profile · priority support |
| Enterprise | Custom pricing | For teams and bootcamps — premium AI tier, industry question banks, enterprise analytics, concierge support, dedicated account manager |
All interview sessions are capped at 30 minutes per session across plans.
Company (employer) plans
| Plan | Price | Key entitlements |
|---|---|---|
| B2B RPO Enterprise | Contract-based | Recruitment-process-outsourcing model: unlimited guaranteed candidates per month under contract terms |
Where to look
- Plan definitions and enforcement: the user-management repo (subscription services and plan DTOs).
- Frontend gating: the main web app's
planEntitlementsutility. - Testing plan limits: see the
PLAN_LIMITS_AND_TESTINGdoc in the main web app repo.