One-click tailoring from any job page. Best for daily use — adds a small button to LinkedIn, Indeed, Glassdoor, and most ATS pages.
Also works in Brave, Opera, and other Chromium browsers.
Get the Chrome extensionNo install permission needed. Works on every browser — even locked-down corporate machines.
Drag to your bookmarks bar
Tailor Resume for this JobThen click it on any job posting to tailor your resume instantly.
javascript:void function(){var APP_URL='https://rolewyn.com';var MIN_LEN=50;var MAX_LEN=10000;var SOURCE_URL=location.href;function getSelected(){try{var s=window.getSelection();if(!s)return null;var txt=s.toString().trim();return txt.length>=MIN_LEN?txt:null;}catch(_e){return null;}}function bySelectors(selectors){try{for(var i=0;i<selectors.length;i++){var el=document.querySelector(selectors[i]);if(el&&el.innerText){var t=el.innerText.trim();if(t.length>=MIN_LEN)return t;}}}catch(_e){}return null;}var SITES={linkedin:['.jobs-description__content','.jobs-description-content__text','.jobs-box__html-content','[class*="jobs-description"]','[class*="job-details"]','.job-view-layout [class*="description"]'],indeed:['#jobDescriptionText','.jobsearch-jobDescriptionText','[data-testid="job-description"]','.jobsearch-JobComponent-description'],glassdoor:['[class*="JobDetails_jobDescription"]','[class*="jobDescriptionContent"]','[data-test="jobDescriptionContent"]','.desc'],workday:['[data-automation-id="jobPostingDescription"]','[data-automation-id="jobPostingPage"]','.PCPF.WMUX'],greenhouse:['#content .opening','#content','.app-body','[class*="job-post"]'],lever:['.posting-page .section-wrapper','.posting-page','.section[data-qa="job-description"]'],ashby:['[class*="JobPostingPage_descriptionWrapper"]','[class*="JobPosting_description"]','[class*="_descriptionText"]']};function siteExtract(host){if(host.indexOf('linkedin.com')!==-1)return bySelectors(SITES.linkedin);if(host.indexOf('indeed.com')!==-1)return bySelectors(SITES.indeed);if(host.indexOf('glassdoor.')!==-1)return bySelectors(SITES.glassdoor);if(host.indexOf('myworkdayjobs.com')!==-1||host.indexOf('workday.com')!==-1){return bySelectors(SITES.workday);}if(host.indexOf('greenhouse.io')!==-1||host.indexOf('boards.greenhouse.io')!==-1){return bySelectors(SITES.greenhouse);}if(host.indexOf('lever.co')!==-1||host.indexOf('jobs.lever.co')!==-1){return bySelectors(SITES.lever);}if(host.indexOf('ashbyhq.com')!==-1||host.indexOf('jobs.ashbyhq.com')!==-1){return bySelectors(SITES.ashby);}return null;}function genericExtract(){try{var containers=document.querySelectorAll('article, main, [role="main"], .content, #content, '+'[class*="job"], [class*="description"], [class*="posting"]');var best=null,bestScore=0;var keywords=['responsibilities','requirements','qualifications','experience','skills','about the role','what you','we are looking','you will'];for(var i=0;i<containers.length;i++){var t=containers[i].innerText?containers[i].innerText.trim():'';if(t.length<200||t.length>20000)continue;var lower=t.toLowerCase(),score=0;for(var k=0;k<keywords.length;k++){if(lower.indexOf(keywords[k])!==-1)score++;}if(score>bestScore){bestScore=score;best=t;}}if(bestScore>=2&&best)return best;var all=document.querySelectorAll('div, section, article');var largest='';for(var b=0;b<all.length;b++){var bt=all[b].innerText?all[b].innerText.trim():'';if(bt.length>largest.length&&bt.length>200&&bt.length<20000){largest=bt;}}return largest||null;}catch(_e){return null;}}function go(url){try{var a=document.createElement('a');a.href=url;a.target='_blank';a.rel='noopener noreferrer';a.style.display='none';(document.body||document.documentElement).appendChild(a);a.click();setTimeout(function(){try{a.remove();}catch(_e){}},0);return;}catch(_e){}try{location.href=url;}catch(_e){}}var jd=getSelected();if(!jd)jd=siteExtract(location.hostname);if(!jd)jd=genericExtract();if(jd&&jd.length>MAX_LEN)jd=jd.substring(0,MAX_LEN);var base=APP_URL+'/tailor?source=bookmarklet&auto=1&from='+encodeURIComponent(SOURCE_URL);if(!jd||jd.length<MIN_LEN){go(APP_URL+'/tailor?source=bookmarklet&fallback=paste&from='+encodeURIComponent(SOURCE_URL));return;}var encoded;try{encoded=btoa(unescape(encodeURIComponent(jd)));}catch(_e){go(APP_URL+'/tailor?source=bookmarklet&fallback=paste&from='+encodeURIComponent(SOURCE_URL));return;}go(base+'#jd='+encoded);}()Open any role on LinkedIn, Indeed, Glassdoor, or an ATS-hosted page from a company careers site.
We read the visible job description in your browser — no server-side scraping, no scraping the page from our servers.
Quick Tailor opens with the job description prefilled. Pick a resume, hit Tailor, download the PDF.
Site not auto-detected? Select the job description text on the page first, then click the bookmarklet — we'll use your selection.
Head to the dashboard to set a default resume — that's what the bookmarklet and extension will tailor against.