2
2 Comments

We built a CV builder with 50+ ATS-friendly templates — here’s what we learned

We’ve been working on Toolscase CV Builder, and one thing became clear early on: building a useful resume tool is about more than providing good-looking templates.

A resume can look professional but still create problems when it goes through an applicant tracking system. So we focused on combining resume design with tools that help people improve their applications.

The current version includes:

• 50+ ATS-friendly resume templates
• ATS compatibility checking
• Cover letter builder
• One-click PDF downloads
• AI-assisted resume suggestions
• Advanced ATS optimization features

We also wanted to reduce friction for someone who just wants to create a CV, so users can start building without creating an account.

One of the interesting challenges has been figuring out how much guidance to give. ATS feedback can be useful, but too many recommendations can make resume building more complicated instead of easier.

We’re continuing to improve that balance.

If you’re interested, you can try it here:

https://cv.toolscase.com/

I’d be interested to hear from other founders and job seekers: what is the biggest problem you’ve experienced with online resume builders?

on September 21, 2026
  1. 1

    On how much guidance to give, the split that helps is between what you can verify and what you are guessing at. Whether a parser pulls the right name, dates and job titles out of the PDF is deterministic, you can check it and show it. Whether a particular phrasing scores well is not something any external tool can know. So instead of a score, show people the parse: here is what came out of your file, these two roles lost their dates, this section arrived as one blob. That is self evidently useful and it cannot be wrong the way a score can, and it limits the advice naturally because you only flag what actually broke.

  2. 1

    On your actual question: the recurring complaint I see is that builders optimise the document and stop there. A CV can parse cleanly and still be filtered by screening rules layered on top of the parser, and a tool that scores the PDF cannot see those. So the score reads like a verdict when it is really one gate of several.

    The thing you did not ask about, and 50+ templates is the tell.

    Each template will want to be its own landing page. Good instinct. It is also where most founders hit a trap nobody warns them about: Google will fetch a page and then decline to index it if it reads as a variant of pages it already holds, and template pages get judged as a group rather than one at a time. The outcome is rarely "some rank, some do not". It is usually "almost none get served at all".

    Numbers from two sites I watch, for scale rather than as a warning: one has 15,187 pages with effectively none served in a 28-day window. The other has 10,051 pages Google has never served once. Both were programmatic families that looked completely fine on the day they shipped.

    What separates a served template page from an ignored one is whether it carries something that exists only on that page. For you, a plausible version: the actual parsed output for that template, or what a named ATS does with it, rather than a preview image plus the same paragraph with the template name swapped in. Real differences in the text, not in the design.

    The cheap check before you build all 50: ship three, wait to see whether they get indexed, and only then decide about the other 47. The expensive version is finding out at 50.

    Separately, your no-account-to-start decision is the right one, and it is the thing I would defend hardest the first time someone argues for a signup wall to capture emails. Every gate you add in front of value costs you the people who were only ever going to try it once, and some of those were going to come back.

    If you want the page half read by something outside your own head, nexusbro.com/audit is free and needs no login. It reads the page, not your ATS logic, so it has nothing to say about the parsing half.