PromptHire

PromptHire project preview

A platform to find the best jobs with a single prompt and your resume

Project

Finding jobs made easy

PromptHire

PromptHire project background

PromptHire

Overview

A streamlined job search pipeline that takes a user's resume and a natural-language prompt (e.g. "senior backend roles in Singapore, fintech preferred"), fetches available roles, and ranks them by semantic relevance eliminating manual keyword tuning on job boards.

Technical Challenges

Simplified Retrieval + Ranking Flow

Instead of an agent loop, the app uses a deterministic sequence: parse resume, retrieve jobs, score relevance, return ranked results. This removes unnecessary orchestration complexity and makes ranking behavior easier to debug and tune.

Resume Parsing

PDF resumes are parsed with a text extraction library and then passed to Gemini with a structured output prompt to extract skills, years of experience, job titles, and preferred industries. Output is validated against a Zod schema before being used as ranking context.

Search Query Construction

Naively passing resume text to Google Search produces poor results. Instead, the backend builds targeted queries from extracted skills plus location and industry filters from user input, retrieves listings, and deduplicates by canonical URL before scoring.

Gemini Semantic Relevance Ranking

Given the deduplicated job list, Gemini computes semantic relevance between the parsed resume profile and each job description. The ranking stage combines semantic similarity with explicit constraints (location, role seniority, preferred domain) to produce the final ordered results.

Daily Telegram Updates

Users can set update preferences (keywords, location, and preferred send time). A daily scheduler reruns retrieval and semantic ranking, then pushes a concise top-match digest through Telegram.

System Architecture

React Flow mini map
Frontend / ClientBackend ServicesExternal APIs / AIDatabases / StorageInfrastructure

A simplified pipeline fetches available jobs, parses the resume into structured signals, and uses Gemini semantic similarity scoring to rank listings by relevance. User-selected preferences (keywords, location, and schedule) register a daily run that pushes top matches to Telegram as a digest.

Made with

Next.jsGeminiGoogle Search APITelegram Bot API