Smart Resume Parser
Paste a resume to extract key information into a structured format.
Professional Summary
Skills
Work Experience
Education
Your Dashboard Awaits
Go to the 'Input Resume' tab to paste a resume and see the magic happen.
${item}
`; eduEl.appendChild(div); }); }; // --- Event Handlers --- resumeForm.addEventListener('submit', (e) => { e.preventDefault(); const text = resumeText.value; if (!text.trim()) { alert('Please paste resume text before parsing.'); return; } parsedData = parseResumeText(text); updateDashboardUI(); switchTab('dashboard'); }); // --- Tab Logic --- const switchTab = (tabId) => { currentTab = tabId; tabContents.forEach(content => content.classList.remove('active')); tabButtons.forEach(button => button.classList.remove('active')); document.getElementById(tabId).classList.add('active'); document.querySelector(`[data-tab="${tabId}"]`).classList.add('active'); updateNavButtons(); }; const updateNavButtons = () => { prevBtn.disabled = currentTab === 'dashboard'; nextBtn.disabled = currentTab === 'config'; }; tabButtons.forEach(button => { button.addEventListener('click', () => switchTab(button.dataset.tab)); }); nextBtn.addEventListener('click', () => { if (currentTab === 'dashboard') switchTab('config'); }); prevBtn.addEventListener('click', () => { if (currentTab === 'config') switchTab('dashboard'); }); // --- PDF Generation --- downloadPdfBtn.addEventListener('click', () => { const { jsPDF } = window.jspdf; const pdf = new jsPDF('p', 'pt', 'a4'); const margin = 40; let y = margin; const pageWidth = pdf.internal.pageSize.getWidth(); const pageHeight = pdf.internal.pageSize.getHeight(); const addSectionHeader = (text) => { if (y > pageHeight - 100) { pdf.addPage(); y = margin; } pdf.setFontSize(16); pdf.setFont('helvetica', 'bold'); pdf.text(text, margin, y); y += 20; }; const addBodyText = (text) => { pdf.setFontSize(10); pdf.setFont('helvetica', 'normal'); const splitText = pdf.splitTextToSize(text, pageWidth - (2 * margin)); pdf.text(splitText, margin, y); y += (splitText.length * 12) + 15; }; // Header pdf.setFontSize(24); pdf.setFont('helvetica', 'bold'); pdf.text(parsedData.name, pageWidth / 2, y, { align: 'center' }); y += 25; const contactInfo = [parsedData.contact.email, parsedData.contact.phone, parsedData.contact.linkedin].filter(Boolean).join(' | '); pdf.setFontSize(11); pdf.setFont('helvetica', 'normal'); pdf.text(contactInfo, pageWidth / 2, y, { align: 'center'}); y += 30; // Summary addSectionHeader('Professional Summary'); addBodyText(parsedData.summary); // Skills addSectionHeader('Skills'); // Simple text for now, could be improved with better formatting addBodyText(parsedData.skills.join(', ')); // Experience addSectionHeader('Work Experience'); parsedData.experience.forEach(item => { if (y > pageHeight - 80) { pdf.addPage(); y = margin; } addBodyText(item); y+=5; }); // Education addSectionHeader('Education'); parsedData.education.forEach(item => { if (y > pageHeight - 80) { pdf.addPage(); y = margin; } addBodyText(item); y+=5; }); pdf.save(`${parsedData.name.replace(/\s/g, '_')}_Resume_Summary.pdf`); }); // --- Initialization --- const init = () => { switchTab('dashboard'); // Start on dashboard per spec // Pre-populate with sample data for demonstration resumeText.value = `Johnathan Doe New York, NY | (123) 456-7890 | john.doe@email.com | linkedin.com/in/johndoe Professional Summary Results-driven Senior Software Engineer with over 8 years of experience in designing, developing, and deploying scalable web applications. Proficient in JavaScript, Python, and cloud technologies. Proven ability to lead projects and mentor junior developers to achieve team goals. Skills - Languages: JavaScript (ES6+), Python, HTML5, CSS3 - Frameworks: React, Node.js, Django, Flask - Databases: PostgreSQL, MongoDB, Redis - Cloud/DevOps: AWS, Docker, Kubernetes, CI/CD, Terraform Work Experience Tech Solutions Inc. - Senior Software Engineer New York, NY | June 2018 - Present - Led the architecture and development of a new microservices-based platform, resulting in a 40% improvement in scalability and a 20% reduction in latency. - Mentored a team of 4 junior engineers, fostering their growth and improving team velocity. - Implemented a CI/CD pipeline using Jenkins and Docker, reducing deployment time from hours to minutes. Innovate Corp. - Software Engineer San Francisco, CA | May 2015 - June 2018 - Developed and maintained features for a high-traffic e-commerce website using React and Node.js. - Collaborated with product managers and designers in an Agile environment to deliver high-quality software. - Optimized database queries which improved page load times by 30%. Education University of California, Berkeley - Bachelor of Science in Computer Science Berkeley, CA | Graduated May 2015`; }; init(); });