Tailor Any Resume to Any Job Description
Feed in a JD and your real career facts. DeepSeek V4 reasons over the overlap, rewrites your bullets into strong, truthful, ATS-optimized copy, and emits compilable LaTeX source ready for Overleaf. No fabricated claims, ever.
DeepSeek AI Resume Generator
Select a preset JD or paste any custom target job description below.
Run the tailor to generate your resume preview, or paste a job description.
Resume LaTeX Template Rules
Jake's Resume, Deedy, and Sourabh Bajaj's classic template — all Overleaf-ready.
Uses \pdfgentounicode=1 to ensure 100% ATS parser readability across all screening software.
Uses \resumeSubheading, \resumeProjectHeading, and \resumeItem.
Maintains clean vertical margins and itemize spacing so the resume fits perfectly onto a single page.
%-------------------------
% Resume in Latex
% Author : Jake Gutierrez
% Based off of: https://github.com/sb2nov/resume
% License : MIT
%------------------------
\documentclass[letterpaper,11pt]{article}
\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage[hidelinks]{hyperref}
\usepackage{fancyhdr}
\usepackage[english]{babel}
\usepackage{tabularx}
\input{glyphtounicode}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
% Adjust margins
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}
\urlstyle{same}
\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}
% Sections formatting
\titleformat{\section}{
\vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]
% Ensure that generated pdf is machine readable/ATS parsable
\pdfgentounicode=1
%-------------------------
% Custom commands
\newcommand{\resumeItem}[1]{
\item\small{
{#1 \vspace{-2pt}}
}
}
\newcommand{\resumeSubheading}[4]{
\vspace{-2pt}\item
\begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{\small#3} & \textit{\small #4} \\
\end{tabular*}\vspace{-7pt}
}
\newcommand{\resumeSubSubheading}[2]{
\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\textit{\small#1} & \textit{\small #2} \\
\end{tabular*}\vspace{-7pt}
}
\newcommand{\resumeProjectHeading}[2]{
\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\small#1 & #2 \\
\end{tabular*}\vspace{-7pt}
}
\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}}
\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}
%-------------------------------------------
%%%%%% RESUME STARTS HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%----------HEADING----------
\begin{center}
\textbf{\Huge \scshape Saunak Ghosh} \\ \vspace{1pt}
\small +91-9876543210 $|$ \href{mailto:saunakghosh10@gmail.com}{\underline{saunakghosh10@gmail.com}} $|$
\href{https://linkedin.com/in/saunakghosh}{\underline{linkedin.com/in/saunakghosh}} $|$
\href{https://github.com/Saunakghosh10}{\underline{github.com/Saunakghosh10}} $|$
\href{https://saunakghosh.is-a.dev}{\underline{saunakghosh.is-a.dev}}
\end{center}
%-----------EDUCATION-----------
\section{Education}
\resumeSubHeadingListStart
\resumeSubheading
{Tech Institute}{Bangalore, India}
{Bachelor of Science in Computer Science, Specialization in AI Systems \& Web Architecture}{Aug. 2021 -- May 2025}
\resumeSubHeadingListEnd
%-----------EXPERIENCE-----------
\section{Experience}
\resumeSubHeadingListStart
\resumeSubheading
{Founding AI Engineer}{2024 -- Present}
{Piing / Series India}{Bangalore, India}
\resumeItemListStart
\resumeItem{Architected automated WhatsApp matchmaker engine handling double-opt-in warm intros using Claude Sonnet and Node.js microservices.}
\resumeItem{Built prompt caching and intent extraction pipeline reducing LLM inference latency by 45\% and API overhead costs by \$1.2k/mo.}
\resumeItem{Designed high-throughput vector database matching algorithm scoring user profiles across 10+ affinity signals in Supabase/pgvector.}
\resumeItemListEnd
\resumeSubheading
{Lead Developer \& Designer}{2023 -- 2024}
{sg.dev Workflow Systems}{Open Source}
\resumeItemListStart
\resumeItem{Built sgtools, a high-performance developer workflow hub with Astro, React 19, and Tailwind CSS v4 for zero-JS core page delivery.}
\resumeItem{Created AXI (Agent eXperience Interface) specifications reducing agent execution cost by 38\% across 900+ benchmark runs.}
\resumeItem{Standardized design token pipelines and dark-mode color primitives across 15+ sub-applications.}
\resumeItemListEnd
\resumeSubHeadingListEnd
%-----------PROJECTS-----------
\section{Projects}
\resumeSubHeadingListStart
\resumeProjectHeading
{\textbf{AXI Agent Ergonomic CLI} $|$ \emph{TypeScript, Node.js, MCP, LLM Benchmarking}}{2024}
\resumeItemListStart
\resumeItem{Designed agentic CLI protocol providing structured JSON output streaming and instant error recovery for AI coding assistants.}
\resumeItem{Achieved 100\% task completion rate in benchmark tests while cutting prompt payload tokens by 57\%.}
\resumeItemListEnd
\resumeProjectHeading
{\textbf{Resume Tailor \& ATS Optimization Engine} $|$ \emph{Next.js, React, Tailwind, DeepSeek API}}{2024}
\resumeItemListStart
\resumeItem{Developed AI resume generator transforming base career facts into ATS-optimized Jake's Resume LaTeX source in under 5 seconds.}
\resumeItem{Implemented strict keyword verification guardrails ensuring zero fabricated claims while boosting JD match scores by 35\%.}
\resumeItemListEnd
\resumeSubHeadingListEnd
%-----------TECHNICAL SKILLS-----------
\section{Technical Skills}
\begin{itemize}[leftmargin=0.15in, label={}]
\small{\item{
\textbf{Languages}{: TypeScript, JavaScript, Python, C++, SQL (PostgreSQL), HTML5/CSS3} \\
\textbf{Frameworks}{: Next.js, React 19, Astro, Node.js, Express, FastAPI, Tailwind CSS v4} \\
\textbf{Developer Tools}{: Git, Docker, Supabase, Redis, Vercel, VS Code, Postman} \\
\textbf{AI \& Libraries}{: Google Antigravity SDK, DeepSeek API, Claude API, LangChain, pgvector}
}}
\end{itemize}
%-------------------------------------------
\end{document}
DeepSeek Master Resume Tailor Prompt
Feed this exact prompt behind the app's request to DeepSeek V4 Flash / V4 Pro for optimal ATS keyword matching.
# AI Resume Tailor &A ATS Optimization Master Prompt
Feed this system prompt to DeepSeek (or any AI coding assistant / API) to tailor a candidate's resume for any Job Description (JD). It produces a 100% truth-checked, ATS-optimized LaTeX source ready to copy-paste into Overleaf.
```markdown
You are an elite technical resume strategist, ATS (Applicant Tracking System) optimization specialist, and high-impact software engineering copywriter.
YOUR TASK:
Given a candidate's BASE CAREER FACTS and a TARGET JOB DESCRIPTION (JD), analyze the JD deeply, validate which real facts are relevant, and output a tailored, compilable LaTeX resume (Jake's Resume template, pdflatex) designed for maximum ATS score and maximum recruiter impact.
ABSOLUTE RULES (NON-NEGOTIABLE):
1. ZERO FABRICATION. Never invent companies, roles, dates, degrees, metrics, technologies, or projects that are not present in the BASE CAREER FACTS. Every claim must be traceable to the facts. When the facts are thin, prefer honesty over keyword padding. This is non-negotiable.
2. SUBSTANCE IS FIXED. The candidate's real companies, titles, dates, education, and achievements stay intact. You may rephrase, re-order, re-weight, and re-keyword, never invent.
3. JD-FIRST ANALYSIS. Extract from the JD: hard requirements, technical stacks, domain keywords, and seniority signals. Rank the candidate's real achievements by relevance and lead each resume section with the strongest overlap.
4. STRONG ACTION VERBS + PROMETRICS. Lead every bullet with verbs like Architected, Engineered, Optimized, Led, Spearheaded, Scaled, Reduced, Streamlined, Designed, Automated. Use real numeric results from the facts (latency, accuracy, volume, impact).
5. TERM MAPPING, NOT FABRICATION. If the candidate's real tool is the JD's tool under a different name (for example "pgvector semantic search" for a JD that asks "RAG / semantic retrieval" ), use the JD term only when it is a truthful description of the fact. If the candidate never touched a skill, omit it.
6. LATEX PRESERVATION. Keep the preamble and macro definitions intact, plus:
- \resumeSubheading{Role}{Date}{Company}{Location}
- \resumeProjectHeading{\textbf{Project} $|$ \emph{Stack}}{Date}
- \resumeItemListStart ... \resumeItem{...} ... \resumeItemListEnd
- \resumeSubHeadingListStart ... \resumeSubHeadingListEnd
Escape LaTeX specials (& # $) as \& \# \$ respectively.
7. STRICT ONE-PAGE BOUNDS. Keep bullets concise (approx 8-16 words each). Re-weight into a single page, no overflow.
REASONING PROCESS (think in step-wise, then emit):
- Step 1: Parse the JD. Extract hard requirements, keywords, seniority band.
- Step 2: Audit the candidate facts. Map each fact to JD requirements; tag overlaps and honest gaps.
- Step 3: Rewrite each experience & project bullet to maximize JD overlap while staying truthful.
- Step 4: Emit the complete Jake's Resume LaTeX document (preamble + body), one page, Overleaf-ready.
OUTPUT FORMAT: Respond with ONLY a valid JSON object. No markdown code fences, no explanatory prose.
{
"tailored_latex": "<full compilable pdflatex source using Jake's Resume template>",
"preview_data": {
"name": "Saunak Ghosh",
"contact_code": "email | github | linkedin | location",
"summary": "<one-sentence positioning statement derived from facts>",
"experience": [
{ "role": "...", "company": "...", "dates": "...", "bullets": ["..."] }
],
"projects": [
{ "name": "...", "tech": "...", "bullets": ["..."] }
],
"skills": [
{ "category": "Languages", "items": "..." }
],
"education": [
{ "school": "...", "degree": "...", "dates": "...", "note": "..." }
]
},
"match_report": {
"score": <0-100 integer>,
"matched_keywords": ["..."],
"gaps": ["..."],
"summary": "<one sentence fit analysis>"
},
"changelog": [
"Reordered bullets to lead with <jd priority>",
"Aligned terminology with JD without inventing skills"
],
"bullet_changes": [
{ "section": "...", "original": "...", "tailored": "..." }
]
}
```
## Example Prompt Chaining
```text
SYSTEM: <the prompt above>
USER:
Target Role: {TARGET_ROLE}
Target Company: {COMPANY}
Target Job Description:
{PASTE_JD}
Candidate Base Career Facts:
{candidate real facts}
Output the tuned resume in the required JSON schema.
```