From the "generic CV" everyone keeps to a version tailored for each job, checked against the source by code and AI before export.
Access is controlled: clicking "Try the app" lets you request an access code (email or phone). Once approved, you'll receive a personal code, valid for 48 hours, for 20 AI actions.
A web app I built in Google AI Studio (with Claude) for my own job search. It accepts a CV and a job description, then generates a tailored CV in English or Hebrew, a job-fit analysis and likely interview questions.
The core issue with AI-generated CVs is the model's tendency to "improve" things: adding numbers, skills and achievements that do not exist. So the guiding principle is that factual accuracy comes before the match score.
Every generated CV goes through a code-based fact check against the source, plus an AI check. Findings are highlighted in the preview, and the CV is exported to Word and PDF.
Other AI tools did not solve this: they exaggerated and added data that did not exist to fit the job.
Workflow: CV input (paste text or upload a file - txt/docx read in the browser, PDF read by Gemini) → job input (paste text, or fetch from a public link) → review (Gemini finds spelling, grammar and consistency issues; the user approves each fix separately) → generation (a call to gemini-3-flash-preview with an enforced JSON schema that explicitly forbids inflating numbers, skills and achievements).
Server-side processing: typography cleanup (invisible characters, typographic quotes and dashes) → code-based fact check, no AI (every number, year, degree and certification must appear in the source) → optional AI check for Hebrew CVs, with word-for-word quoting from the source.
Interface: findings that fail the checks are highlighted in yellow for the user to review → export to Word (with right-to-left handling for Hebrew) and PDF → a bilingual Hebrew/English interface, adapted for phones.
An access layer on the server, not the page. To publish the app without exposing the Gemini key to unlimited use, every AI call is checked on the server for a valid code, expiry and quota (Cloud Run + Firestore). Each visitor gets a personal code for 48 hours and 20 actions, and the admin page handles approving requests, sending codes and usage statistics, without storing any content.
A code-based fact check, not just the model's own assessment. The model returns a self-evaluated "integrity score", which can be unreliable - so a deterministic check against the source was added, and the model's score is shown only as a "self-assessment".
An AI check for Hebrew CVs, with word-for-word quotes. In Hebrew the code check is partial, so an AI check was added that must quote existing text word for word, so it can't point at sentences that don't exist.
Switching to low-thinking mode for lightweight tasks. By default Gemini 3 "thinks" before answering, which made review and text extraction exceed their time limits - I moved them to low thinking, and kept the default for CV generation, where quality matters.
The fact check caught wording copied from the job description: 7 of 24 items flagged (29%) in one real run.
CV review in about 6 seconds with real Gemini, after switching to low thinking.
0 cuts through text lines in PDF export of Hebrew and English CVs (margins: 22mm on the sides, 15mm top and bottom).
The app was published in October 2026, with code-based access control. Real usage data is collected in the admin page.
Access is controlled: clicking "Try the app" lets you request an access code (email or phone). Once approved, you'll receive a personal code, valid for 48 hours, for 20 AI actions.