Work / AI Tools & Systems /AI Tool

Appliq

AI that rewrites your CV for every job — without inventing a single thing you haven't done.

In Progress2026·Next.jsGoogle GeminiSupabaseTypeScript
01The Problem

Job seekers were sending the same CV everywhere and wondering why they weren't hearing back.

Most people apply for jobs by tweaking the same CV slightly — maybe swapping a word here, moving a bullet there. They know it's not ideal, but doing it properly for every application takes 30–60 minutes of careful reading, rewriting, and second-guessing. For someone applying to 10, 20, or 50 roles, that's an enormous amount of time just to get to the first conversation.

There's also a technical side to this problem that most applicants don't see: many large companies run CVs through an ATS (Applicant Tracking System) before a human ever looks at them. If your CV doesn't contain the exact keywords the job description uses, it can get filtered out automatically — regardless of how qualified you actually are. A senior marketing manager might miss an interview because their CV says "customer acquisition" and the job posting said "demand generation."

The services that existed to help with this either charged a lot for a human to rewrite the CV (slow, expensive, not repeatable) or used AI in a way that was frankly dangerous — adding skills, tools, and job titles the person had never had. Getting caught embellishing a CV is a career-ending moment.

02The Build

Built as a full web application — not a script, not a chatbot.

The goal from the start was to build something that felt like a proper product: an account, a dashboard, persistent data, and a clean interface that a non-technical person could use without any guidance. That meant building a full web app, not just a prompt wrapper.

The stack chosen was Next.js for the web application, Supabase for user accounts and the database, and Google's Gemini AI for the intelligence layer. Each piece had a specific job and was chosen because it was the right fit — not just because it was fashionable.

One of the most important architectural decisions was building a "Fact Sheet" system before any tailoring happens. When you upload your CV, the AI reads it and produces a structured list of your actual skills, actual tools, actual achievements, and actual years of experience. This Fact Sheet becomes the hard boundary for everything that follows. The rewrite AI can only work with what's in that list — nothing more.

Step 01

The Fact Sheet: establishing your source of truth

Before any tailoring can happen, the user uploads their master CV (PDF, DOCX, or plain text). The AI reads it and extracts a structured "Fact Sheet" — hard skills, tools, key achievements with metrics, and years of experience. This is saved to the database and becomes the single source of truth for every future tailored version. The AI is instructed explicitly: do not hallucinate. If something isn't in the Fact Sheet, it cannot appear in the output.

Step 02

The Gap Analysis: reading the job description intelligently

When the user pastes a job description, the AI compares it against the Fact Sheet and produces a gap analysis: which skills are direct matches, which are transferable (the user has something close that can be reframed), and which are genuine gaps the user simply doesn't have. It also automatically identifies the company name, job title, and salary from the JD — so the user doesn't have to type anything extra.

Step 03

The Constrained Rewrite: targeted, honest, keyword-rich

With the gap analysis in hand, the AI rewrites the CV to lead with direct matches, reframe transferable skills using the job's language, and preserve the original structure of the CV exactly — same section order, same section names. It integrates the keywords hiring managers and ATS systems scan for, but only using skills the person actually has. The output is clean markdown, ready to copy or export.

Step 04

The Compliance Check: an AI auditing another AI

After the rewrite, a separate AI call reads the tailored CV and checks it against the Fact Sheet. It flags any sentence that contains a claim not present in the original data. This is shown to the user as a "Verified — No hallucinations" badge or a specific list of issues to review. This step was added after testing revealed that without it, the AI would occasionally rephrase things in a way that implied a stronger claim than the original.

03How It Works

The system in motion — from CV upload to tailored application in under two minutes.

The user experience is designed to be as frictionless as possible. Once the Fact Sheet is set up (a one-time step), tailoring a new application takes less than 90 seconds. The user pastes a job description, hits a button, and watches the system work through four visible steps in real time.

The output is a side-by-side view: the original CV on the left, the tailored version on the right. Keywords that were integrated from the job description are highlighted so the user can see exactly what changed and why. The tailored version is fully editable, so the user can make any final adjustments before downloading or saving.

01

Upload your master CV

Upload once as a PDF, DOCX, or paste text directly. The AI reads it and builds your personal Fact Sheet — your permanent source of truth.

02

Paste the job description

Copy the full JD from LinkedIn, Indeed, or any job listing and paste it into the Tailoring Studio.

03

Gap analysis runs

The AI compares your Fact Sheet against the JD. It identifies direct skill matches, skills that can be reframed, and genuine gaps — and automatically pulls the company name, role, and salary from the listing.

04

CV is rewritten

Your CV is rewritten to lead with the skills that matter most to this employer. ATS keywords are woven in, bullet points are rephrased with strong action verbs, and your original structure is preserved exactly.

05

Compliance check

A second AI call audits the tailored version against your Fact Sheet and flags any hallucinations before you ever see the output.

06

Review, edit, and save

Side-by-side editor with keyword highlights. Edit anything, then download as PDF or save to your Application Tracker to manage the full pipeline.

04Reliability

The hardest problem wasn't writing the AI — it was keeping it honest.

The biggest risk with any AI writing tool is hallucination: the model confidently adding things that aren't true. For a standard blog post, that's annoying. For a CV, it could get someone fired. So a significant portion of the build was dedicated specifically to preventing, detecting, and surfacing any instance of the AI going beyond what the person actually said.

Beyond that, building on top of a third-party AI service introduces operational risks that have to be planned for. The Gemini API sometimes runs at high demand and returns errors. The app had to handle that gracefully — not just crash with a technical error message.

Challenge

The AI occasionally rewrites an achievement in a way that implies a bigger result than what was originally stated.

Solution

The compliance check step runs a second, separate AI call that reads the tailored output and compares every claim against the Fact Sheet. It returns a structured list of specific violations — shown to the user with exact quotes — rather than a generic warning. The user sees either a green "Verified" badge or the precise sentences that need review.

Challenge

Gemini's API returns 503 errors during periods of high demand, which would fail the user's tailoring job completely.

Solution

An exponential backoff retry system was built into every AI call. If the API returns a 503 or overload error, the system automatically waits 2 seconds and retries, then 4 seconds, then 8 seconds — up to three attempts before surfacing a clear, human-readable error message with a one-click "Try Again" button. A fallback model (Gemini 2.0 Flash) is also available if the primary model (2.5 Flash) is unavailable.

Challenge

Users uploading large or complex PDF files would sometimes get empty or garbled text back.

Solution

The PDF parsing uses Gemini's native document understanding rather than a local text extraction library. This means even complex, multi-column, designed CVs can be read accurately. File size is validated at 10MB before any processing starts, and clear error messages tell the user if their PDF isn't text-searchable.

Challenge

AI calls are expensive. Without limits, a single user could generate thousands of requests.

Solution

A rate limiting system was built using the Supabase database to track requests per user per hour. Tailoring is limited to 10 jobs per hour, file parsing to 20, and general AI calls to 30. The system is designed to degrade gracefully — if the rate limit table doesn't exist (e.g. during early setup), it defaults to allowing requests rather than blocking users.

Challenge

Input validation — what happens if someone passes in malicious or malformed data to the AI endpoints?

Solution

Every input to every AI function is validated using Zod schemas before it reaches the AI. CV text must be between 50 and 100,000 characters. Job descriptions must be at least 20 characters. All AI-generated HTML shown in the editor is sanitized using DOMPurify to prevent XSS injection from AI-generated content.

05The Result

A working product — not a demo.

Appliq is a fully functional web application with user authentication, persistent data across sessions, PDF upload and parsing, a four-stage AI pipeline, a side-by-side editing interface, multi-template PDF export, and an application tracker. It runs in production.

The core capability — taking a generic CV and producing a tailored, keyword-matched, compliance-checked version in under 90 seconds — works reliably. The gap analysis gives users something genuinely useful beyond the rewrite itself: a clear picture of where they're strong for a role and where they're not, which also helps them prepare for interviews.

This is the kind of tool that would typically cost a job seeker £100–£300 per application from a professional CV service, or hours of their own time. Appliq compresses that into 90 seconds and makes it repeatable for every role they apply to.

< 90sTime to tailored CV
4-stageAI pipeline (gap → rewrite → verify → save)
3CV export templates (Classic, Modern, Minimal)
In ProgressStatus