Workout Plan Generator

Workout Plan Generator

Define your training style and generate a structured weekly workout schedule.

PERSONALIZED TRAINING PLAN

Goal: | Days/Week:

Primary Goal
Hypertrophy (Muscle Gain)
Total Weekly Sets
0
Estimated Time
0 min

Weekly Schedule Overview

Detailed Routine List

[Image of main muscle groups] *For Hypertrophy, aim for 10-20 sets per muscle group per week. This plan is a template; adjust weight/RPE based on individual performance.*

Add Exercise to Routine


Current Routine Exercises (0)

Scheduled Rest or Active Recovery.

' : exerciseHtml} ${!isRest && exercises.length > 0 ? `
Volume: ${dayTotalSets} sets | Est Time: ${dayTotalTime} min
` : ''}
`; }); // --- 2. Render Detailed Routine List (PDF friendly) --- routine.forEach(ex => { detailedListContainer.innerHTML += `

${ex.exercise}

Day: ${ex.day} | Sets: ${ex.sets} | Reps: ${ex.reps} | Load: ${ex.load} | Est. Time: ${ex.duration} min

`; }); // --- 3. Update Stats --- document.getElementById('out-goal-name').innerText = `${goal} (${experience})`; document.getElementById('stat-total-sets').innerText = totalSets; document.getElementById('stat-total-time').innerText = `${totalTime} min`; document.getElementById('out-pdf-goal').innerText = goal; document.getElementById('out-pdf-days').innerText = `${daysPerWeek} training days`; } function wpgDownloadPDF() { wpgUpdateDashboard(); // Ensure latest data is rendered const element = document.getElementById('wpg-print-area'); // Show PDF header and hide controls const headers = element.querySelectorAll('.pdf-header'); headers.forEach(h => h.style.display = 'block'); const controls = element.querySelectorAll('.pdf-hide'); controls.forEach(c => c.style.display = 'none'); const opt = { margin: 0.5, filename: 'Workout_Plan.pdf', image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2 }, jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' } }; html2pdf().set(opt).from(element).save().then(function() { // Revert changes after download headers.forEach(h => h.style.display = 'none'); controls.forEach(c => c.style.display = 'flex'); // Re-show button container that was hidden by pdf-hide class document.querySelector('.wpg-btn-container').style.display = 'flex'; }); }
Scroll to Top