ResumeGeni

An AI-powered resume builder informed by 12 years inside hiring technology

The Problem I Saw at ZipRecruiter

I spent 12 years at ZipRecruiter, rising from design engineer to VP of Product Design. In that time I designed interfaces used by over 110 million job seekers. The thing that struck me most wasn't any individual feature — it was the gap between what candidates submitted and what recruiters actually saw.

Applicant tracking systems are the gatekeepers of modern hiring. Every major employer uses one: Workday, Greenhouse, Taleo, iCIMS, Lever, and dozens more. These systems receive resumes, parse them into structured data, and present that data to recruiters. The problem is that parsing is lossy. Tables, columns, headers, footers, images, and creative formatting routinely break the extraction process.

The result: qualified candidates get filtered out before a human ever looks at their application. Not because of their experience or skills, but because of how their resume was formatted.

At ZipRecruiter, I saw this from the recruiter side — the frustration of incomplete parsed profiles, missing skills, garbled work histories. I saw the candidate side too — millions of job seekers applying repeatedly and hearing nothing back. The two sides of the same problem.

How Each ATS Parses Differently

One of the first things I learned building ResumeGeni was that "ATS-friendly" is not a single standard. Each platform has its own parsing engine with distinct behaviors:

Workday is the most widely deployed enterprise ATS. It handles standard formatting well but struggles with multi-column layouts and non-standard section headers. Its internal search uses keyword matching, not semantic understanding — the exact phrasing matters.

Greenhouse takes a different approach. Rather than scoring candidates algorithmically, it surfaces profiles to recruiters through structured search. Recruiters search by skills, titles, and qualifications — which means the parsed data needs to be clean enough to match those searches. Greenhouse's parsing is solid on standard documents but punishes creative formatting.

Taleo (now Oracle Recruiting Cloud) is the strictest parser I've encountered. It requires specific file formats, breaks on tables and columns more aggressively than any other system, and has rigid expectations about section order. Many government and large enterprise employers still run Taleo.

iCIMS has quirks of its own — particularly around how it handles iframe-based job listings and its approach to candidate data extraction. It's widely used in healthcare, retail, and mid-market employers.

Lever is popular with startups and tech companies. Its "opportunity-based" model means recruiters see candidates in context, not just as parsed data. This gives more weight to the human-readable document, but the parsing still needs to work for search and filtering.

I documented these differences in detail as part of the ATS comparison guide on ResumeGeni. Understanding how each system works is the foundation of the product.

What I Built

ResumeGeni is an AI-powered resume builder that optimizes documents for specific ATS platforms and job descriptions. The core approach:

  1. Parse the job description to extract required skills, qualifications, and keywords
  2. Analyze the candidate's resume against those requirements and the target ATS parsing rules
  3. Generate optimized content that maintains the candidate's experience while improving ATS compatibility and keyword alignment
  4. Output clean documents in formats that parse reliably across all major ATS platforms

The AI layer uses Claude (Anthropic's Opus model) for content generation and analysis. But the real value isn't the AI — it's the ATS knowledge baked into the system. Knowing that Taleo requires single-column layouts, that Workday needs exact keyword matches, that Greenhouse recruiters search specific fields — that domain knowledge is what makes the optimization effective.

The product also includes a library of ATS optimization guides, a job board aggregating 1.1 million active positions, and company-specific application guides for thousands of employers.

Design Decisions

Two principles guided the design:

Show the work. Most resume tools are black boxes — upload your resume, get a score, pay to see the fixes. I wanted ResumeGeni to explain what it's doing and why. If Taleo will reject your two-column layout, you should know that before you apply. If a job description requires "Kubernetes" and your resume says "container orchestration," you should understand the keyword gap.

Start with the data. The product is built on a corpus of real job listings and real ATS behaviors, not generic advice. The keyword recommendations come from analyzing actual job descriptions across industries. The formatting rules come from testing documents against actual ATS parsing engines.

The tech stack — FastAPI, HTMX, Alpine.js — reflects a bias toward simplicity and speed. No heavy JavaScript frameworks, no client-side routing. Server-rendered HTML with progressive enhancement. The same philosophy I applied at ZipRecruiter: ship fast, measure everything, iterate on evidence.

What I Learned

Building ResumeGeni confirmed something I suspected at ZipRecruiter: the gap between job seekers and hiring systems is largely a formatting and communication problem, not a qualification problem. The candidates exist. The jobs exist. The technology in between is what breaks the match.

The most impactful work wasn't the AI generation — it was the ATS research. Understanding exactly how each platform parses, searches, and presents candidate data. That knowledge is what turns generic resume advice into specific, testable optimization.

If you're navigating this yourself, the ATS comparison guide is a good starting point. Each platform has its own rules, and knowing the rules is most of the battle.