Venture Capital Investment Success Predictor

Venture Capital Investment Success Predictor

No Prediction Generated

Please fill out the metrics in the subsequent tabs to calculate the success potential.

${analysis.title}

Investment Analysis

${analysis.summary}

Team Score
${Math.round(teamScore)}/100
Market/Product
${Math.round(marketProductScore)}/100
Financials Score
${Math.round(financialScore)}/100

Input Summary

Founder Experience: ${getSelectedText('founder-experience')}
Team Expertise: ${getSelectedText('team-expertise')}
Team Completeness: ${getSelectedText('team-completeness')}
TAM: ${getSelectedText('tam-size')}
Market Growth: ${marketMetrics.growth}%
Product/Market Fit: ${getSelectedText('product-fit')}
Differentiation: ${getSelectedText('differentiation')}
ARR: ${formatCurrency(financialMetrics.arr)}
Monthly Burn: ${formatCurrency(financialMetrics.burn)}
Valuation: ${formatCurrency(financialMetrics.valuation)}
Ask Amount: ${formatCurrency(financialMetrics.ask)}
`; initialMessage.classList.add('hidden'); resultsContainer.classList.remove('hidden'); pdfButtonContainer.classList.remove('hidden'); }; // PDF Download Functionality downloadPdfBtn.addEventListener('click', () => { const { jsPDF } = window.jspdf; const content = document.getElementById('pdf-content'); if (!content) { console.error("PDF content area not found."); return; } // Temporarily add a PDF-specific title const pdfTitle = document.createElement('h1'); pdfTitle.innerText = 'Venture Capital Investment Success Prediction Report'; pdfTitle.className = 'text-2xl font-bold text-gray-800 text-center mb-6'; content.prepend(pdfTitle); html2canvas(content, { scale: 2, // Higher resolution useCORS: true, onclone: (document) => { // This runs in the cloned document before canvas creation // Ensure dynamic chart colors are applied for the PDF const chartPath = document.querySelector('.stroke-green-600, .stroke-yellow-600, .stroke-orange-600, .stroke-red-600'); if(chartPath) { const colorClass = Array.from(chartPath.classList).find(c => c.startsWith('stroke-')); const colorHex = { 'stroke-green-600': '#16a34a', 'stroke-yellow-600': '#ca8a04', 'stroke-orange-600': '#ea580c', 'stroke-red-600': '#dc2626' }[colorClass] || '#6b7280'; chartPath.style.stroke = colorHex; } } }).then(canvas => { const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = pdf.internal.pageSize.getHeight(); const canvasWidth = canvas.width; const canvasHeight = canvas.height; const ratio = canvasWidth / canvasHeight; const newWidth = pdfWidth - 40; // with margin const newHeight = newWidth / ratio; let position = 20; if (newHeight <= pdfHeight - 40) { // check if it fits on one page pdf.addImage(imgData, 'PNG', 20, position, newWidth, newHeight); } else { // Handle multi-page let heightLeft = canvasHeight; let currentPosition = 0; while(heightLeft > 0) { const pageCanvas = document.createElement('canvas'); pageCanvas.width = canvasWidth; // Calculate height of the slice to fit on one PDF page const sliceHeight = Math.min(heightLeft, (pdfHeight - 40) * (canvasWidth / (pdfWidth - 40))); pageCanvas.height = sliceHeight; const ctx = pageCanvas.getContext('2d'); ctx.drawImage(canvas, 0, currentPosition, canvasWidth, sliceHeight, 0, 0, canvasWidth, sliceHeight); const pageImgData = pageCanvas.toDataURL('image/png'); const pageRatio = pageCanvas.width / pageCanvas.height; const pageNewWidth = pdfWidth - 40; const pageNewHeight = pageNewWidth / pageRatio; pdf.addImage(pageImgData, 'PNG', 20, 20, pageNewWidth, pageNewHeight); heightLeft -= sliceHeight; currentPosition += sliceHeight; if (heightLeft > 0) { pdf.addPage(); } } } pdf.save('VC_Investment_Prediction_Report.pdf'); // Clean up the added title content.removeChild(pdfTitle); }).catch(err => { console.error("Error generating PDF:", err); content.removeChild(pdfTitle); }); }); // Initialize view showTab(0); });
Scroll to Top