Skip to content

How to Make an ATS-Friendly Resume: Formatting Rules That Actually Matter

Make an ATS friendly resume with five formatting rules, a full one-page example, a template checklist, and a five-minute parse test for any file.

Rohit SalujaUpdated 18 min read
Recruiter at an office desk reviewing a list of candidate resumes on a large computer monitor
Photo by Tima Miroshnichenko on Pexels

Key takeaways

  • An ATS-friendly resume parses cleanly into the right fields and uses the words recruiters search for.
  • Five rules remove most parsing risk: one column, standard headings, contact details in the body, one date format, and a text-based PDF or DOCX.
  • Narrow columns can wrap a job's date range onto two lines, which can drop that job from the parsed record.
  • Judge any template, from Word, Google Docs, or a builder, by its structure and a paste test, not by its label.
  • Page count isn't a parsing issue; one page is the right default for most people.

An ATS friendly resume is one that applicant tracking software can read into the right fields, and that uses the words recruiters search for. Five formatting rules handle almost all of the parsing risk:

  1. Use one column. Keep every section in one top-to-bottom flow, with no sidebar, table, or text box for core content.
  2. Use standard headings, such as Summary, Skills, Work Experience, and Education.
  3. Put your name and contact details in the body, not in the document header.
  4. Write dates one way, such as "Mar 2022 – Present," on the same line as each job.
  5. Send a text-based PDF or DOCX, and follow the posting's file instructions when it gives any.

The rest of this guide explains why each rule matters. It includes a full one-page example, a checklist for judging templates, and a five-minute test. We also ran one-column and two-column versions of the same resume through a parser, so you can see what actually breaks.

What an ATS-friendly resume actually does#

Almost every large employer uses an applicant tracking system (ATS). Jobscan's 2026 ATS usage report found one on the career sites of 97.4% of Fortune 500 companies. That share has stayed near 98% since 2018.

Fortune 500 companies with a detectable ATS

Share of Fortune 500 career sites where Jobscan detected an applicant tracking system, by report year

98.2%
98.8%
97.4%
98.4%
97.8%
97.4%
2018
2019
2023
2024
2025
2026

Source: Jobscan, 2026 ATS Usage Report

View data
LabelValue
201898.2%
201998.8%
202397.4%
202498.4%
202597.8%
202697.4%

The system does two jobs with your resume. An ATS-friendly resume helps with both.

  • It parses your file. Software pulls your text into fields: name, email, phone, job titles, employers, dates, education, and skills. If the layout confuses it, your phone number can land in the skills field, or a whole job can vanish.
  • It lets recruiters search. Recruiters search by title, skill, tool, and location, then sort the results. If your resume lacks the words they type, you won't show up, however clean the format is.

Formatting handles the first job. Keywords handle the second. For the full picture, read what an applicant tracking system is and how it works.

How resume parsing works, step by step#

Vendors use different technology, but most parsers follow the same broad sequence.

StageWhat happensWhat can break
Text extractionThe system pulls raw text from your PDF or DOCXImages, scans, and text boxes yield nothing
SegmentationIt splits the text into sections using headingsCreative headings blur section borders
Field mappingIt assigns text to fields like title, employer, datesColumns and tables mix fields together
NormalizationIt standardizes dates, titles, and skill namesOdd date formats or invented titles fail to map
IndexingIt stores the record so recruiters can search itMissing keywords mean you never surface

The first stage is the unforgiving one. If the parser can't pull text out of an element, nothing later can recover it. A skills list drawn as a graphic, or a summary in a floating text box, simply doesn't exist to the system. That's why "real text in the main body" is the most important rule. When something does go wrong, the guide to resume parsing errors lists the usual causes and fixes.

ATS myths vs. facts#

Much of the worry about ATS comes from claims with no traceable source. Here's how the common ones hold up.

ClaimRealityWhat to do
"ATS rejects most resumes automatically"Most rejections come from knockout questions and human reviewAnswer screening questions accurately
"ATS can't read PDFs"Text-based PDFs usually parse; image PDFs don'tExport PDFs from a word processor or builder
"Any design element gets you rejected"Design rarely triggers rejection, but can scramble parsingKeep core content in one column
"You need a special ATS template"Structure matters, not a labelTest any template yourself
"Keyword stuffing beats the system"Recruiters read what the search surfacesUse keywords naturally in context
"Fonts can block parsing"Common fonts parse fine; text in images doesn'tUse a standard font as real text

The ATS myths guide covers each claim in depth, including where the famous "75% rejected" figure came from.

Note

"Not auto-rejected" is not the same as "safe." A resume that parses badly can still lose out, because its record looks incomplete in search results.

The ATS-friendly resume layout: one column, standard order#

Layout is where most parsing problems start, so get it right first. The safest structure is one column, read top to bottom, with sections in a familiar order.

Why one column is safer#

Many parsers read a document as one stream of text. Jobscan calls the result of columns and tables "text-layer scrambling": the layout you see doesn't match the order of the text underneath. In one example it describes, a design-heavy resume run through Lever kept the work history. It dropped the skills, the About section, the contact details, and the links to work samples.

Some parsers handle simple columns well. But you can't know which system an employer uses. A single column removes the gamble. The parse test later in this guide shows a quieter way columns cause damage, even when the text stays in order.

Standard section order#

For most people, this order parses well and reads well:

  • Contact details: name, city and state, phone, email, and a LinkedIn or portfolio link.
  • Summary: two to four lines.
  • Skills: grouped, with commas or bars between items.
  • Work Experience: most recent job first.
  • Education.
  • Certifications, Projects, or Volunteer Experience, as relevant.

New graduates can move Education above Experience. Career changers can move Skills or Projects higher. The resume formats guide explains when each order makes sense.

Element-by-element risk#

This table rates common design elements by how likely they are to cause parsing problems.

ElementParse riskSafer alternative
Two-column layout or sidebarMedium to highOne column; skills as a section
Tables for jobs or skillsHighPlain lines separated by bars or commas
Text boxes and shapesHighNormal paragraphs and headings
Contact info in the document headerMediumContact info as the first lines of the body
Icons for phone, email, locationMediumPlain text labels or none
Skill bars, charts, and graphicsHigh; carry no readable dataList skills with a proficiency word
PhotosMedium; also a bias concern in the U.S.Leave off unless local norms require it

Section headings the ATS recognizes#

Parsers use headings to decide where one section ends and the next begins. Creative headings make that harder. Use plain, standard names.

Use this headingInstead ofWhy
Work ExperienceWhere I've Made an ImpactParsers map common terms to fields
SkillsMy Toolbox"Skills" is the expected label
EducationLearning JourneyClear, searchable, expected
CertificationsBadges and CredentialsMatches how recruiters filter
SummaryHello!Signals an intro, not a job entry
ProjectsThings I've BuiltStandard label for portfolios

"Professional Experience" and "Experience" are fine too. So are headings with an ampersand, such as "Licenses & Certifications." Keep each heading on its own line, in the same style throughout. Never place two headings side by side.

Contact information and the resume header#

Your contact block is the most important data the parser extracts. If it fails, a recruiter who likes your resume may not be able to reach you.

Put contact details in the body#

Word processors have a header area that repeats at the top of each page. Some parsers skip it. Put your name and contact lines at the top of the main document instead. It looks the same on the page and removes the risk.

What to include#

  • Full name on its own line, a little larger than the body text.
  • City and state. A full street address is no longer expected.
  • One phone number and one professional email address.
  • A LinkedIn URL and, if relevant, a portfolio or GitHub link, written as plain text.

Separate items with a vertical bar, not icons. Write your phone number in a standard format, such as (614) 555-0136. Use an email address based on your name. Make the visible text of any link the address itself, because parsers read what's visible. The resume header guide covers the details, including how to handle a preferred name.

Warning

Don't hide extra keywords in white text or tiny fonts. Text extraction ignores color, so hidden words show up in plain sight in your parsed record. The ATS myths guide shows a test of exactly that.

Dates, job titles, and company names#

After contact details, parsers work hardest on titles, employers, and dates. Consistency is the rule.

Use one date format everywhere#

Month and year is the safest choice for jobs. Years alone work for education and older roles.

Date formatParses well?Notes
Jan 2023 – PresentYesClear and common
01/2023 – PresentYesCompact; keep it consistent
2021 – 2023UsuallyFine for education and older roles
Spring 2023RiskySeason words may not map to dates
'21–'23RiskyApostrophe years confuse some parsers

Write "Present" for your current role, not a blank. Use the same dash in every date range.

Give each job a clean title line#

Put the job title, employer, location, and dates on one line. For example: "Senior Accountant | Riverside Components | Columbus, OH | Apr 2022 – Present." Use your real title. If your company's title is unusual, add the common version in parentheses, such as "Client Happiness Hero (Customer Success Manager)."

If you held several titles at one company, list the company once and stack each title with its own dates. The guide to multiple positions at the same company shows layouts that parse well.

Fonts, bullets, and special characters#

Typography has the most myths and the least real risk. Common fonts parse fine as long as they're real text.

Fonts and sizes#

Pick one readable font family, such as Calibri, Arial, Helvetica, Georgia, or Garamond. Parsers read the text, not the font, so size doesn't affect parsing. For people, 10 to 12 point body text is easiest to read, with headings a little larger. The best resume fonts guide compares options.

Bullets and symbols#

  • Use standard round or square bullets, or simple hyphens.
  • Avoid arrows, checkmarks, emoji, and icon fonts, which can turn into odd characters.
  • Use plain bars ("|") or commas between inline items.
  • Use bold and italics freely, and keep all caps for short headings.

Skills section format that parses#

Write skills as plain text, grouped by type, with a separator the parser can split on. Grouping helps people scan. Plain separators help software split each skill.

A parse-safe skills section

SKILLS

Data and analytics: SQL, Python (pandas), Tableau, Excel (Power Query), A/B testing

Platforms: Snowflake, dbt, Salesforce, Google Analytics 4

Certifications: Tableau Desktop Specialist (2025)

Languages: Spanish (professional working proficiency)

To show proficiency, use words such as "advanced" or "working knowledge." Bars, dots, and stars carry no readable data.

Write links as visible text, such as "linkedin.com/in/graceokafor." A link hidden behind a word like "Portfolio" disappears when the text is pulled out. Drop "https://" and "www," and check that each link works.

Length and page breaks#

Page count isn't a parsing issue. A parser reads a two-page file as easily as a one-page file. Length is a decision for the human reader, and one page is the right default for most people. The one-page resume guide covers when it fits and how to get there.

Resume Trail builds one-page resumes, and long content shrinks to fit, down to an 8 pt floor. If your field expects two pages, keep page two in the same single column, and never split a job's title from its bullets. For page-count advice by career stage, see how long a resume should be.

PDF or Word: choosing the right file type#

File type causes more worry than it deserves, but there are a few real traps. Use this decision table.

SituationSend thisWhy
Posting specifies a formatExactly what it asks forThe system is set up for it
Online portal, no instructionText-based PDF or DOCXBoth usually parse well
Emailing a hiring managerPDFLayout stays fixed on every device
Recruiter asks for an editable fileDOCXAgencies often reformat resumes
You only have a scanned copyRebuild it as a new documentImage files have no text to read

Text-based vs. image-based PDFs#

A PDF exported from Word, Google Docs, or a resume builder has a text layer a parser can read. A scanned page, or a design export saved as an image, may hold only a picture of text. To check, open the PDF and try to highlight one word. If you can't, a parser probably can't either. The Harvard College resume guide gives a similar reminder: make sure your formatting translates properly when converted to PDF.

File names#

Name the file so a recruiter can find it, such as "Grace-Okafor-Resume.pdf" or "Grace-Okafor-Senior-Accountant.pdf." Avoid "resume_final_v7.pdf." For the trade-offs between formats, read PDF or Word for your resume.

Keywords: the content half of an ATS-friendly resume#

Clean formatting gets your data into the system. Keywords get you found once it's there. If a recruiter searches for "NetSuite" and "month-end close," your resume needs those exact words.

  • Mirror the posting's language. Use the employer's terms for titles, skills, tools, and credentials wherever they truthfully describe your work.
  • Write acronyms both ways once, such as "Certified Public Accountant (CPA)."
  • Match the job title where it's honest, in your headline or summary, not in your work history.
  • Put keywords inside bullets. "Cut month-end close from 9 to 5 days after moving the ledger to NetSuite" proves the skill. A bare "NetSuite" in a list of 40 tools doesn't.

The resume keywords guide explains how to pick and place them. The free resume keyword scanner compares your resume with a posting and lists matched and missing terms.

How to test whether your resume is ATS-friendly#

You don't need to guess. These five steps take about five minutes and catch most structural problems.

  1. Run the plain-text paste test. Open your PDF or DOCX, select all, copy, and paste into a plain text editor.
  2. Check the order. Your name and contact details should come first. Each job's title, employer, and dates should stay together on one line.
  3. Check for missing pieces. Look for anything that vanished, such as sidebar skills, links, or text from a box or table.
  4. Run a parser preview. Paste the text into the free resume parser, or use an application's "autofill from resume" option. Check that each field fills correctly.
  5. Fix one thing at a time. Export again and rerun the test until the output is clean.

What our parse test showed: one column vs. two columns#

For this guide, we built one sample resume two ways, with identical text: a senior accountant with two jobs. One version used a single column. The other moved contact details, skills, education, and certifications into a left sidebar. We saved both as PDFs from Chrome and pulled the text out with two PDF readers, Apple's PDFKit and pdf.js. Both readers returned the same text. Then we pasted each version into the free resume parser.

Same resume, two layouts: what the parser found

One test run on the sample resume in this guide, saved as PDF from Chrome and pasted into the resume parser (October 2026)

  • Single column
  • Two column
6count
6count
5count
5count
2count
1count
0count
9count
Profile fields found (of 6)
Headings found (of 5)
Jobs found with dates (of 2)
Entries split across lines

Source: Free resume parser on this site, test run for this guide

View data
LabelSingle columnTwo column
Profile fields found (of 6)6count6count
Headings found (of 5)5count5count
Jobs found with dates (of 2)2count1count
Entries split across lines0count9count

The two-column file didn't scramble the way people expect. The sidebar came out as one block, ahead of the summary, and every heading was still found. The damage was quieter. The narrow column forced lines to wrap, and nine entries broke across two lines. Here's the first job as each file pasted:

Real paste output: the first job in each layout

Single column:

Senior Accountant | Riverside Components | Columbus, OH | Apr 2022 – Present

Cut month-end close from 9 to 5 business days with reconciliation templates in Excel and BlackLine

Two column:

Senior Accountant | Riverside Components | Columbus, OH | Apr 2022 –

Present

Cut month-end close from 9 to 5 business days with reconciliation templates

in Excel and BlackLine

"Apr 2022 –" and "Present" landed on separate lines. The parser looks for a date range within a line, so it missed this one. It listed one job with dates instead of two. The degree and the CPA line split the same way. All six profile fields still came through, so a quick look at contact details would have missed the problem.

The lesson: read the field-by-field output, not just the contact fields. Check that every job appears with its dates. Any parser that reads line by line would trip on the same split.

What to fix first when the test fails#

If the paste test or preview shows problems, fix them in this order.

SymptomLikely causeFirst fix
Name or contact details missingPlaced in the document header or a text boxMove them into the first lines of the body
Skills missing or scatteredSidebar column or tableMove skills to a single-column section
A job missing from the job listNarrow column split its title lineUse one column so the line fits
Jobs merged or out of orderColumns, tables, or uneven title linesUse one title-line format for every job
Strange charactersIcons, symbol fonts, or special bulletsReplace with plain text and standard bullets
Nothing extracted at allScanned or image-only PDFRebuild the resume as a text document

For a broader check, the free ATS resume checker flags missing headings, dates, and contact details in the text you paste.

Tip

Test every new template once, not every application. Recheck only when you change the layout, add a new section type, or switch tools.

ATS-friendly resume templates (Word, Google Docs, free)#

Plenty of templates in Word, Google Docs, and free galleries call themselves ATS-friendly. The label proves nothing. Judge any template with these five checks:

  • One column for all core content, with no sidebar.
  • Real headings, such as Work Experience and Skills, typed as text.
  • No text boxes, tables, or shapes holding words.
  • Contact details in the body, not the document header.
  • It passes the paste test, with every job and its dates on one clean line.

If a free template fails a check, fix that part or pick another. The Google Docs resume template guide shows how to find and check the built-in Docs templates. The guide on how to choose a resume template helps you weigh design against parsing. If you use a resume builder, run its PDF through the same test. Resume Trail's templates are built to keep one reading order, and its PDF export keeps the text selectable.

When a designed resume is fine#

ATS-friendly doesn't mean ugly. It means the structure is simple. You can still use an accent color, good spacing, a well-chosen font, and clear hierarchy. What you avoid are layout tricks that hide text from a parser.

Some situations call for a more designed version, as long as you keep a parse-safe one for portals.

Where the resume goesWhich versionNotes
Online application portalATS-friendlyIt will be parsed, searched, and stored
Email to a hiring managerEither; ATS version is saferIt may be forwarded into the ATS
Networking or career fair handoutDesigned version is fineA person reads it directly
Creative portfolio siteDesigned versionPair it with a portfolio link
Recruiter or agency requestATS-friendly DOCXAgencies often reformat and upload

ATS-friendly resume vs. normal resume#

The difference is structure, not looks. A typical designed resume uses features that a parser can trip on.

FeatureTypical designed resumeATS-friendly resume
ColumnsSidebar for skills and contactOne column
Text boxesSummary or skills inside a boxPlain paragraphs
Contact detailsDocument header, with iconsFirst lines of the body, plain text
Skill ratingsBars, dots, or starsWords such as "advanced"
HeadingsCreative labelsStandard labels

ATS-friendly resume for graphic designers#

Designers face the hardest trade-off, because the resume is also a work sample. Keep two versions. Use a parse-safe version for job portals, with your portfolio URL written out as visible text near the top. Save the designed PDF for email, networking, and your portfolio site. Update the ATS version first and copy changes across, so dates and titles always match.

The graphic designer resume guide shows how to keep the plain version sharp. The creative resume guide covers when design helps.

ATS-friendly rules for special situations#

The core rules apply to everyone, but a few situations need small changes.

ATS-friendly resume for freshers and new graduates#

If you're a fresher with little work history, structure carries more of the load.

  • Put Education first, with your degree, school, graduation date, and relevant coursework.
  • Format projects like jobs. Give each one a title line with dates, then two or three bullets with results.
  • Build your skills section from coursework, projects, and internships, using the tool and method names from the postings you want.

The guides to a resume with no experience and an entry-level resume have full examples.

Other situations#

  • Consultants and contractors: List the agency or your own business as the employer, then name major clients inside the bullets.
  • Career changers: Keep dated, most-recent-first jobs so they parse. Lead with a summary and skills that use the new field's words.
  • Federal applicants: USAJOBS resumes follow their own rules on length and required details. The federal resume guide covers what changes.
  • International applications: Some countries expect a photo or personal details that U.S. resumes leave out. Follow local norms, but keep the structure single-column and text-based. See international resume formats.
  • Large portals: Workday, Greenhouse, Lever, and iCIMS each handle uploads a little differently. Always review autofilled fields before you submit. The guide to applying through Workday and other portals walks through the screens.

Common ATS formatting mistakes and quick fixes#

Most problems come from a handful of habits. Fix these and your resume will parse cleanly on almost any system.

Before and after: three quick ATS fixes

Heading

BeforeMy Professional Journey

AfterWork Experience

Date range

BeforeSummer '22 → now

AfterJun 2022 – Present

Contact line (moved out of the document header, icons removed)

Before[phone icon] 614-555-0136 [envelope icon] grace.okafor@example.com

AfterGrace Okafor | Columbus, OH | (614) 555-0136 | grace.okafor@example.com | linkedin.com/in/graceokafor

Other mistakes worth catching:

  • Skills listed only in a sidebar or table, so they may never reach the parsed record.
  • Job titles placed under the dates instead of on the title line, so titles and employers swap.
  • A summary written inside a text box, which some parsers skip entirely.
  • Links attached to words like "Portfolio" with no visible URL.
  • Two resumes sent to the same employer with different dates or titles.

ATS-friendly resume example#

Here's a complete one-page sample that follows every rule in this guide. It's the single-column version from the parse test above.

Full one-page ATS-friendly resume sample

Grace Okafor

Senior Accountant

Columbus, OH | grace.okafor@example.com | (614) 555-0136 | linkedin.com/in/graceokafor

SUMMARY

Senior accountant with 6 years in month-end close, reconciliation, and audit support for mid-size manufacturers. Cut close time from 9 to 5 business days and led a move to NetSuite.

SKILLS

Accounting: GAAP, month-end close, account reconciliation, accruals, audit support

Systems: NetSuite, QuickBooks, Excel (Power Query, pivot tables), BlackLine

WORK EXPERIENCE

Senior Accountant | Riverside Components | Columbus, OH | Apr 2022 – Present

- Cut month-end close from 9 to 5 business days with reconciliation templates in Excel and BlackLine

- Led the general ledger move from QuickBooks to NetSuite for 3 entities with no restated balances

- Prepared audit schedules for an external audit that closed with zero adjustments in 2025

Staff Accountant | Lakeview Plastics | Dayton, OH | Jul 2019 – Mar 2022

- Reconciled 40+ balance sheet accounts monthly and cleared a $180K backlog of unmatched items in 6 months

- Processed accounts payable for 250 vendors and added a 3-way match that ended duplicate payments

EDUCATION

Bachelor of Science in Accounting | Ohio University | 2019

CERTIFICATIONS

Certified Public Accountant (CPA), Ohio, 2022

Formatting is only part of the picture. Many checkers also give a match score, and the guide to ATS resume scores explains what those numbers mean.

Next steps: your ATS-friendly resume checklist#

Run through this list once for your main template. Then put your effort into tailoring content for each job.

  • Single-column layout with no text boxes or tables for core content.
  • Standard section headings: Summary, Skills, Work Experience, Education.
  • Name and contact details in the body, not the document header.
  • One date format, with "Present" for your current role.
  • Job title, employer, location, and dates together on one line.
  • A common font as real text, with plain bullets.
  • Text-based PDF or DOCX, matching any instruction in the posting.
  • Keywords from the posting in your summary, skills, and bullets.
  • Paste test passed, with every job listed with its dates.

Once your template passes, stop worrying about the robot. Spend the time you save on what moves recruiters: relevant experience, specific results, and the posting's language used honestly.

Frequently asked questions

An ATS-friendly resume uses one column, standard section headings such as Work Experience and Skills, one date format, plain bullets, and real text rather than images. Contact details sit in the body, not the document header. It also uses the job titles, skills, and tools from the posting, because recruiters search the ATS for those terms. Formatting gets your data into the right fields; keywords get you found.

Most modern applicant tracking systems can read text-based PDFs, the kind you get from Save as PDF or Export in a word processor or resume builder. They can't reliably read scanned or image-only PDFs, because there is no text layer to extract. If a posting asks for DOCX, send DOCX. If it doesn't say, a text-based PDF is usually fine.

They carry more risk than one column. Some parsers read across the page and mix a sidebar into your jobs. Even when the text stays in order, a narrow column wraps lines, which can split a date range or a job title in two. In a test for this guide, that alone dropped one of two jobs from a parser's job list. For online applications, one column is the safer default.

Usually not because of formatting. Most automatic rejections come from knockout questions the employer writes, such as work authorization or a required license. Recruiters then search and sort the rest. A resume that parses badly can still hurt you, because your record may look incomplete next to cleaner ones in a search.

Any common font that embeds as real text works, such as Calibri, Arial, Helvetica, Georgia, Garamond, or Times New Roman. Parsers read the text, not the typeface, so font size doesn't affect parsing. For people, 10 to 12 point body text is easiest to read. Avoid decorative, script, or icon fonts, and never put text inside images or shapes.

Copy all the text from your PDF or DOCX and paste it into a plain text editor. Your name, contact details, headings, job titles, and dates should appear in a logical order, with each job's dates on the same line as the job. Then paste the text into a free resume parser, or use an application's autofill option, and check that every job lands with its dates.

A template is ATS-friendly only if it meets the structural rules: one column, standard headings, no text boxes or tables for core content, contact details in the body, and real text. Many templates labeled ATS-friendly still break one of these rules, so test any template with a plain-text paste before you trust the label.

A photo holds no text, so it doesn't break parsing by itself. But U.S. and UK employers don't expect one, and a photo can invite bias, so leave it off for those markets. Where local norms expect a photo, keep it small, keep it out of a text box, and keep every contact detail as real text.

Sources

  1. 2026 Applicant Tracking System (ATS) Usage Report, Jobscan
  2. Resume Tables, Columns, and ATS, Jobscan
  3. Create a Strong Resume, Harvard College Office of Career Services

Free tool

Resume Keyword Scanner

Compare your resume with a job post and see matched and missing keywords.

Try it free

Put this into practice

Draft your resume with an AI assistant that edits inline, then export a clean one-page PDF.

Build my resume