JobLens — Conversational Search for RecSys & Adtech ML Jobs
A domain-specialized conversational job search that combines ColBERT late-interaction retrieval with an LLM control plane for Search, RecSys, Adtech, and Personalization roles.
JobLens is a domain-specialized job search I built as both a practical hiring tool and a working testbed for retrieval ideas. Generic boards treat “ML Engineer” as one bucket. Practitioners in Search, Recommendation Systems, Adtech, and Personalization need queries that can express ranking, retrieval, and marketplace intent—and filters that behave predictably across turns.
I wanted JobLens to sit inside a community hub for those practitioners (alongside research and learning material connected to my book work on AI-powered personalization). The jobs product is the hiring/discovery complement: a place where the same audience can search with domain language rather than generic job-board keywords.
The live application is a Next.js conversational interface with a three-panel layout: chat, results, and job detail. An LLM interprets natural-language requests into a retrieval query, hard filters, and a retrieval mode, then streams results from a Weaviate index that combines ColBERT-style multi-vector search with BM25. Removing a filter chip re-queries the index directly without another LLM call. Related listings that share a title and company collapse into one card with expandable locations. Signed-in users can save jobs and searches; anonymous use is supported with daily quotas.
I designed the product and architecture and directed an AI-assisted implementation across frontend, ingestion, and retrieval-quality work. Two experiments shaped the retrieval path: ColBERT hybrid search added relevant results that BM25 alone missed on a small domain set, and a query-time reranker was dropped after latency made it unusable. Seniority terms are stripped before retrieval so lexical matching does not promote unrelated “Senior …” titles. Production hardening includes Google sign-in, PostgreSQL persistence with row-level security, prompt caching, and abuse limits.
The corpus is periodically ingested from public job boards (Indeed and Google Jobs by default). Interview-prep marketplace, assessments, and richer company pages remain planned product lines, not part of the current live surface.
Gallery
JobLens three-panel search shell before a query: chat, results, and detail placeholders.
Full resolution : Dark JobLens interface with Chat prompt suggesting an adtech MTS query, empty results and detail panels, and a Sign in with Google control.Conversational search for remote recommendation-systems roles, with filter chips and a multi-result list (~21K matches sampled).
Full resolution : JobLens chat answering a remote RecSys engineer query beside a results list of ten jobs from companies including TikTok, Target, and Home Depot, with 21475 results shown.Selected Target RecSys role with AI Overview and full description in the detail panel.
Full resolution : JobLens detail panel for Lead Applied Data Scientist Digital Item RecSys at Target, showing salary, remote policy, AI Overview, and job description beside the results list.Saved Jobs page empty state for an unsigned-in visitor.
Full resolution : JobLens Saved Jobs page stating no jobs are saved yet, with a Start searching button and Google sign-in in the nav.Links
Deep dives
No published articles yet.