We've added full Spanish language support across the platform, launched AI-powered video interviews with auto-grading, and improved how we match candidates to jobs. Clients can now attach interview plans to postings and track candidate progress through interview stages. We've also expanded our salary benchmarking data with new sources for Latin America.
Improved candidate matching shows match scores and reasoning on applications, and candidates see their instant match band when they apply.
add magazine + showcase template ids (enum, types, hero contract)
un-stub talent self-service payouts end to end
entitlement RPCs, plan seeds, and upgrade-banner wiring
thread sanitized next target through OAuth → callback; default applicants to talent
The marketing site is now fully available in Spanish with proper locale handling across all pages.
snapshot deterministic match + enqueue analysis on apply
attach an interview plan to a job post
auto-generate interview links when a candidate enters Interviewing
stage-aware interview progress in the candidate drawer
launch career page when enabling a public job link
AI why/watch rationale + breakdown on applicant detail
live v1 billing + contract funding shell
match badge + sort-by-match in applicants list
nav entries for ported v1 surfaces in ClientAtsShell
port messages to the live v1 shell
port projects (grid + detail subtree) to the live v1 shell
port talent discover + explore to v1, gate to approved talent
port tasks (list + detail subtree) to the live v1 shell
port time tracking to the live v1 shell
mount the contract review loop on both v1 contract detail pages
async aggregate grading (per-answer transcribe + score)
auto-advance candidate to next interview stage on pass
client interview scorecards + competency rollup
grade against per-agent questions, built-in set as fallback
instantiate interview plan into per-stage invitations
interview results dashboard in live v1 client ATS
interview-plan CRUD + typed stages
live AI voice interviewer agent worker
real availability slot picker for self-book interview links
surface copyable self-book links in client ATS
smoother drag (sibling push-down) + animated card moves
computeApplicationMatch single-pair wrapper
grounded LLM match-analysis module (best-effort)
score→band helper with candidate copy
visible promo-code field with validation + acknowledgment (en+es)
capture promo_code (?promo=, last-touch) + fix ref/aff fast-path drop
add .page--bleed variant and export page primitives
add PageContainer canonical page wrapper
add PageHeader canonical page header
a11y batch — translated aria-labels, alt text, keyboard-operable cards/rows
assessment detail overhaul — answer key, test run, invite, closes #test-run
error + loading state coverage for onboarding, agency, affiliate
fail-loud env validation at server boot via instrumentation
full-page assessment creation with server-generated slug
localize contract-wizard + recruiter-submission toasts; migrate transcript toast to sonner
shared ConfirmDialog replacing window.confirm on destructive actions
shared unsaved-changes guard wired into job-post wizard + both onboarding autosave hooks
code-split recharts leaves out of dashboard/analytics first-load JS
compute application metrics with head-only count queries
paginate preference fetch + batch email lookup and watermark writes
column-list + bound the job board and job-applications hot paths
bulk-load + pure in-memory scoring for the matching cron
horizontal-scroll wrappers on candidates/offers/pool tables
Omit Json columns before narrowing match_breakdown/ai_analysis (TS2430)
route ContactOut credit purchase through the live v1 shell
repair live-AI session creation (workspace_id, status, event_data)
retire phantom interview-stage drift onto the real spine
resolve talent skill names cross-schema (PGRST200) so apply match scores
honest 'sync temporarily unavailable' handling for intentionally-offline endpoints
ingest social-auth avatars into R2 + admin record fixes
locale-aware date/number formatting on migrated surfaces
make candidates toolbar wrap cleanly at medium widths
server-only guards on R2/SES clients + remove dead client-side env reads
add magazine + showcase template ids (enum, types, hero contract)
add PrefilledRow + ScreeningQuestionField apply building blocks
add pure derivation helpers (stats, new flag, posted-ago, dept tags)
add sanitized OAuth next-target helper for inline apply
add social-first ApplyAuthOptions (inline OAuth + Diiirect/email reuse)
ApplyPanel server resolver (session/profile/questions/prefill → state)
career-page motion + band stylesheet (reduced-motion safe)
extract apply-data helper (screening Qs + talent summary + applied check)
inline email magic-link in apply panel (returns to panel as talent)
inline split apply panel on job page; 301 legacy /apply route
JobsToolbar inline variant for editorial filter styling
localize career portal (en+es) — webapp-career namespace, all four templates, toolbar, role snapshot; jest next-intl catalog mocks; ratchet career templates
magazine template — editorial masthead + numbered type rows
per-template layout headers; magazine becomes the default template
role-snapshot rail, posted/applicants social proof, tool chips, editorial rule
show instant match band in apply success state
showcase template — forest band hero, stats strip, tagged cards
three-state ApplyPanelClient (auth/apply/already/success) + inline resume upload
applyToJob accepts inline resume key for first-time applicants
career insights band on profile page
post-hire Work section in the find-shell nav (en+es)
show AI match summary + strengthen tips on applications
collapse layout workspace lookup into one embedded query
count-up survives strict mode; dedupe Remote·Remote meta; map fulltime/parttime enum labels
uppercase currency in prefilled rate label (usd → USD)
make postmark inbox empty state renderable — sync component, translations from the page
un-stub talent self-service payouts end to end
unregister broken MercadoPago Inngest processor
entitlement RPCs, plan seeds, and upgrade-banner wiring
typed entitlement RPC calls — params DEFAULT NULL, regenerated DB types, drop structural casts
thread sanitized next target through OAuth → callback; default applicants to talent
finish webapp auth + onboarding wiring (en+es)
foundation — @diiirect/i18n core, formatter locale support, webapp next-intl + email locale substrate
localize @diiirect/constants account + contract labels (en+es)
localize notifications renderer (en+es)
localize Supabase auth emails (en+es) — Phase 6
localize transactional emails (en+es)
localize webapp account (en+es)
localize webapp agency (en+es)
localize webapp auth — login + signup (en+es), full auth catalog
localize webapp client analytics page (en+es)
localize webapp client assessments components (en+es)
localize webapp client assessments pages (en+es)
localize webapp client calendar components (en+es)
localize webapp client candidate workbench components (en+es)
localize webapp client candidates, offers, interviews, contracts pages (en+es)
localize webapp client contract detail + signing panel (en+es)
localize webapp client dashboard (en+es)
localize webapp client error boundaries, recruiting-inbox + analytics loading (en+es)
localize webapp client intelligence + sourcing components (en+es)
localize webapp client intelligence + sourcing pages and error boundaries (en+es)
localize webapp client job detail/board/edit/preview + interview schedule pages (en+es)
localize webapp client job-detail components (en+es)
localize webapp client jobs list + new-job entry (en+es)
localize webapp client loading skeletons (en+es)
localize webapp client settings loading skeletons + calendar metadata (en+es)
localize webapp recruiter (en+es)
localize webapp shell + navigation chrome (en+es)
localize webapp talent analytics components (en+es)
localize webapp talent analytics page + period selector (en+es)
localize webapp talent assessments, notifications, proposals, workspace error (en+es)
localize webapp talent calendar booking (en+es)
localize webapp talent calendar overview + meeting detail (en+es)
localize webapp talent contracts list + detail (en+es)
localize webapp talent dashboard (en+es)
localize webapp talent find dashboard, applications, saved (en+es)
localize webapp talent find growth, settings, interviews, practice, error (en+es)
localize webapp talent find jobs + offers (en+es)
localize webapp talent job detail, settings & vdi pages (en+es)
localize webapp talent job-posts, jobs board, timers, earnings (en+es)
localize webapp talent messages views & postmark inbox (en+es)
localize webapp talent passwords, availability, settings, profile (en+es)
localize webapp talent proposals (en+es)
localize webapp talent Stripe Connect billing setup (en+es)
localize webapp talent task contract & info tabs (en+es)
localize webapp talent task link add/edit dialogs (en+es)
localize webapp talent task links & files tabs (en+es)
localize webapp talent task meeting/call dialogs (en+es)
localize webapp talent task meetings & passwords tabs (en+es)
localize webapp talent task reports/client/description/activity tabs (en+es)
localize webapp talent task-detail header/info/actions (en+es)
localize webapp talent tasks entry, settings layout & practice run (en+es)
localize webapp talent verified-skills, virtual-environments, interviews (en+es)
localize www agencies list + detail (en+es)
localize www agency-application (en+es)
localize www alternative-to hub + competitor pages (en+es)
localize www assessments directory + detail (en+es)
localize www auth-error + data-deletion (en+es)
localize www case-studies index + detail (en+es)
localize www changelog + schedule (en+es)
localize www consultation wizard (en+es)
localize www consulting-partners join page (en+es)
localize www contact page + form (en+es)
localize www download page (en+es)
localize www get-started entry wizard (en+es)
localize www get-started error + hire chrome (en+es)
localize www get-started post-a-project wizard (en+es)
localize www hackathons apply + sponsor pages & forms (en+es)
localize www hackathons detail surface (en+es)
localize www hackathons index surface (en+es)
localize www hire directory (en+es)
localize www intelligence catalog + pages (en+es)
localize www intelligence components (en+es)
localize www investors page (en+es)
localize www jobs chrome + author www-market catalog (en+es)
localize www marketing + home (en+es)
localize www open-company (en+es)
localize www privacy-policy + terms (en+es)
localize www referral-program page (en+es)
localize www roadmap + partners + methodology (en+es)
localize www schedule thank-you (en+es)
localize www start-hiring, apply-as-talent, success pages (en+es)
localize www talent explainer page (en+es)
localize www thank-you page (en+es)
wire www categories + companies pages to www-market (en+es)
wire www hire/[role] + chrome to catalogs (en+es)
wire www jobs detail + shared market components to www-market (en+es)
wire www skills directory + detail to www-market (en+es)
wire www talent/[role] + chrome, extend talentRole catalog (en+es)
notify job owner on new application (applyToJob)
notify talent on meaningful application-status moves
wire all four offer producers into job-offers actions
wire interview scheduled/cancelled producers
wire job curation producers into job-channels actions
prune NextIntlClientProvider payload to client-used namespaces
make new job applicants actually become talent (was a silent no-op)
close wiring gaps caught by no-untranslated-literal ratchet (en+es)
resolve www marketing ratchet gaps (en+es)
wire recruiter settings + client dashboard/calendar chrome (en+es)
wire talent calendar chrome (en+es)
wire talent profile components — analytics, earnings, messages, tasks, vdi (en+es)
wire talent profile loading skeletons (en+es)
wire talent proposals chrome (en+es)
apply page primitives to the no-mailbox empty state
give Postmark inbox a page gutter + standard header
deep-link + dedupe the admin supply-gate notification
point funnel notification CTAs at routes that exist
8 security hardening fixes
admin-managed IntelligenceProvider config (encrypted creds, non-blocking)
Brazil RAIS provider (gov wage census, reported tier, no BigQuery)
freeze comp Read Contract + 4 intelligence hub aggregate views
Get on Board provider + admin nav entry for providers page
Mexico INEGI ENOE provider + fix Get on Board monthly→annual
Phase 1 — IntelligenceProvider registry + ILOSTAT (free LATAM comp)
Stack Overflow survey provider (ODbL, role×country comp percentiles)
sysarmy provider (Argentina tech salaries, config-driven)
career JobPosting JSON-LD — Google for Jobs required fields
webapp crawl-safety — root robots.txt, career sitemap index, noindex default
/intelligence Talent Index hub (presentation layer)
10x design pass on /open-company — interactive chart, de-boxed, native idioms
10x polish + methodology page + a11y for /intelligence
add /open-company build-in-public growth page
add skill-assessment metrics + two-tier stat band on /open-company
delete the off-brand /new-login template route + shell special case
flip the hero scene to light + drop the chapter rail, closes #4d7c0f
hero role deck that morphs into the board rows on scroll
homepage 10x pass — the hero becomes a playable instrument
homepage 2.0 — cinematic ink-first landing ("the machine, live")
localize the new homepage (en+es) + fix latent i18n runtime bugs
metadata batch — title template, default OG card, site JSON-LD, per-route metadata
rebuild /agency-application on the cream-moss system
rebuild /get-started funnel hub on the cream-moss system
rebuild get-started/consultation wizard on the cream-moss system
rebuild get-started/hire intake on the cream-moss system
rebuild referral-program on cream-moss with accurate affiliate mechanics
redesign the homepage as an editorial broadsheet
resolve /intelligence spotlight + region to the real top-paid role
restore the original hero copy on the light scene
retire the dead /skills directory — 301 to /categories
URL-prefixed i18n routing via next-intl ([locale] restructure)
prune NextIntlClientProvider payload to the 6 client-used namespaces
quantize 25 heavy public PNGs — 22MB → 5.5MB, all ≤300KB
restore static/ISR rendering across the pSEO surface
ship LT Soul Raela Pro as woff2 (2.1MB → 640KB across 18 weights)
slim proxy — lazy auth session, drop dead client_profiles lookup, quiet logs
add source to comp_benchmarks cell key — stop multi-provider clobber
Phase 0 A1 — discover resilience + dead-slug self-heal
Phase 0 A2+A3 — qualifier-aware role matcher + BLS baseline seed
renumber market migrations 130000-130400 → 131000-131400
30-min ISR on the homepage so marketplace approvals surface
add missing setRequestLocale import on company jobs page
let the hero atmosphere run behind the transparent nav
locale-aware canonicals + hreflang on every localized page
stop cookie banner from clipping footer status badge & chat
unblock root SEO files + bare brand pages from locale middleware
WS-5b misc cleanups — phantom table, dead toast plumbing, locale-aware formatters