Conversion-Focused Copy Generator

Conversion-Focused Copy Generator

Use proven copywriting formulas to turn prospects into customers.

Product & Goal Information

Your Conversion Copy

Copy generated with your chosen framework will appear here.

${value}

`; fullCopyText += `${key.toUpperCase()}\n${value}\n\n`; } fullCopyText = fullCopyText.trim(); elements.resultsPlaceholder.classList.add('hidden'); elements.resultsContainer.classList.remove('hidden'); } function setLoadingState(isLoading) { elements.generateBtn.disabled = isLoading; if (isLoading) { elements.generateBtn.innerHTML = `Generating...`; elements.resultsContainer.classList.add('hidden'); elements.resultsPlaceholder.classList.remove('hidden'); elements.resultsPlaceholder.innerHTML = `

Writing High-Conversion Copy...

`; } else { elements.generateBtn.innerHTML = `Generate Conversion Copy`; } } function displayError(message) { elements.resultsPlaceholder.innerHTML = `

Generation Failed

${message}

`; elements.resultsPlaceholder.classList.remove('hidden'); elements.resultsContainer.classList.add('hidden'); } function handleCopy() { if (!fullCopyText) return; navigator.clipboard.writeText(fullCopyText).then(() => { const originalText = elements.copyBtn.innerHTML; elements.copyBtn.innerHTML = `Copied!`; setTimeout(() => { elements.copyBtn.innerHTML = originalText; }, 2000); }).catch(err => console.error('Failed to copy: ', err)); } // --- PDF Generation --- function generatePdf() { if (!generationResult) return; const { jsPDF } = window.jspdf; const doc = new jsPDF(); doc.setFont('helvetica', 'bold'); doc.setFontSize(18); doc.text("Conversion Copy Report", doc.internal.pageSize.getWidth() / 2, 20, { align: 'center' }); doc.setFontSize(11); doc.setTextColor(100); doc.text(`Generated on: ${new Date().toLocaleDateString('en-US')}`, 14, 30); const { details, copy } = generationResult; const criteriaBody = [ ['Product Name', details.name], ['Audience & Pain Points', details.audience], ['USP', details.usp], ['Goal', details.goal], ['Framework', details.framework], ]; doc.autoTable({ startY: 35, head: [['Input Criteria', 'Value']], body: criteriaBody, theme: 'striped', headStyles: { fillColor: '#16a34a' } }); const copyBody = Object.entries(copy).map(([key, value]) => [key.toUpperCase(), value]); doc.autoTable({ startY: doc.autoTable.previous.finalY + 10, head: [['Framework Section', 'Generated Copy']], body: copyBody, theme: 'grid' }); doc.save(`conversion-copy-report.pdf`); } initialize(); });
Scroll to Top